[英]Android: Getting the right data from one Activity to Another Activity
需要一些幫助。 我正在嘗試將數據從一個活動傳遞到另一個活動,並且我知道有很多這樣的示例,並且我已經實現了從strings.xml加載ListActivity並從按鈕中拉出.text並傳遞的基本知識進行下一個活動。 但是,我需要將屬性數據應用於xml列表,並通過THAT代替; 因此在接收活動中,我可以收到一個與單擊的內容相關的ID,以便可以從strings.xml中提取要顯示的相關數據。 或者只是通過putExtra傳遞我要顯示的數據。 參見下面的代碼:
-發送活動-
onListItemClick(ListView l, View v, int position, long id) {
. . .
Object o = this.getListAdapter().getItem(position);
String keyword = o.toString();
. . .
Intent myIntent = new Intent(v.getContext(), Activity1.class);
String s = keyword;
Intent i = new Intent(activity.this, activity.class);
myIntent.putExtra("com.activity.Key", s);
startActivityForResult(myIntent, 0);
. . .
-接待活動-
onCreate(Bundle savedInstanceState) {
. . .
String data = null;
Bundle extras = getIntent().getExtras();
if (extras != null) {
data = extras.getString("com.activity.Key");
} else {
data = "Extras Was Null";
}
. . .
如您所見,我正在從按鈕中獲取文本數據,但這並不能真正幫助我獲得與該按鈕相關的內容。 我覺得我需要傳遞節點的ID,但無法弄清楚。 我感覺好像我就在那兒,但是缺少了一些東西。
根據要求,這是我要誇大的XML。 我添加了第二個數組(內容),以便將內容與ListActivity(root_menu)中按下的內容進行匹配; 這是一項正在進行的工作...
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, activity!</string>
<string name="app_name">Activity Tutorial</string>
<string-array name="root_menu">
<item id="o1">Item 1</item>
<item id="o2">Item 2</item>
<item id="o3">Item 3</item>
<item id="o4">Item 4</item>
</string-array>
<string-array name="content">
<item>Content for Item 1.</item>
<item>Content for Item 2.</item>
<item>Content for Item 3.</item>
<item>Content for Item 4.</item>
</string-array>
</resources>
您可以發布相應的XML嗎? “按鈕”是指列表項,對嗎? 聽起來您正在嘗試將數據作為屬性存儲在XML項目節點中,對嗎?
不幸的是,我認為Android不支持該功能-資源XML文件是預編譯的,因此無法從那里進行修改,而且我也不相信您可以任意定義要檢索的新屬性。
(但是,如果您只需要讀取(而不是寫入)資源XML,您可以做的是定義新的節點類型,並相應地檢索它們的值(可能包括屬性值,但我尚未嘗試過)。 ..
但是,如果您想做的只是檢索列表選擇的值,這可能對您沒有幫助,這通常是通過僅維護與列表匹配的值數組來完成的。
讓我知道我是否完全遺漏了您的問題。
編輯:看起來您只是在試圖找出單擊了哪個列表項,而不是該項目的內容。 使用onListItemClicked的“ position”參數獲取索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.