2013-07-01 76 views
0

在活動A中,我有3個ImageView,它調用啓動活動B的函數。活動B有3個選項卡。什麼是關聯哪個選項卡活動B從ImageView開始的方法?例如,如果我推送ImageView 2,我希望當Activity B啓動時顯示第二個選項卡。在不同標籤上啓動活動

我知道我可以活動之間傳遞值,像這樣:

Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
intent.putExtra("EXTRA_SESSION_ID", sessionId); 
startActivity(intent) 

但我怎麼從XML中的ImageView到一個特定的標籤我想在另一個活動啓動相關?

+0

我會硬編碼每個ImageView上點擊偵聽器上的哪個選項卡的值,因此在ImageView1的點擊偵聽器上,我將1放在了額外的意圖中 –

+1

也許設置要顯示在「android:tag」中的選項卡的ID 'ImageView',你可以通過'v.getTag()'在'onClick(View v)'方法中獲取並傳遞它作爲一個額外的'ActivityB' ...似乎你知道其他 – darnmason

+0

@達姆斯森,這將是我的方法。我正在檢查是否有其他方法可以做到 – ono

回答

1

只要把每個ImageView的一個不同的代碼(ImageButon可能是一個更好的選擇,BTW考慮;-))

Intent intent = new Intent(getBaseContext(), ActivityB.class); 
intent.putExtra("TABTODISPLAY", 1);// or 2, or 3 
startActivity(intent) 

然後你可以做這個號碼的開關ActivityB

我不明白什麼是你的問題,這一步是給你的問題

如果你怕硬編碼的數字,有很多方法可以實現它..

1)可以使用圖像

2)的標籤屬性可以使用的ImageButton的onclick屬性和切換視圖名稱

3)你可以使用onClickListener

+0

是的,但我怎麼知道選擇了哪個標籤(1,2或3)?我不能硬編碼的數字 – ono

+0

我添加了3種方法來實現它,而不使用硬編碼的數字,但我仍然不明白你的要求,有太多的方法來實現你想要的東西。有什麼問題與某人在評論中回覆? Whi你不使用oncklick屬性嗎?你期望從答案中得到什麼 –