簡體   English   中英

Android:將正確的數據從一個活動獲取到另一個活動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM