[英]Android - Dynamically set intent Extras
我正在嘗試將ID傳遞給我在創建時的新活動。
顯而易見的解決方案似乎是使用“Intent.putExtra(name,value);”。 但由於意圖僅在點擊時創建,因此我的所有按鈕都具有相同的Intent附加功能(使用null)。
有什么辦法可以從循環中初始化這些嗎?
for ( int i = 0; i< IDList.size() ; i++)
{
//Get Information from ID
btnDetails.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(getApplicationContext(),DetailActivity.class);
intent.putExtra("", IDList.get(i));
startActivity(intent);
}
});
//Add To Screen
}
在代碼中,snippit IDList.get(i)超出范圍,並且在單擊按鈕之前不會檢查新的Final Int,也超出范圍。
還有其他我可以點擊發送變量嗎?
您可以使用實現OnClickListener的內部類,並將id作為參數。 例如
private class MyOnClickListener implements OnClickListener {
private final int mId;
public MyOnClickListener(int id) {
mId = id;
}
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), DetailActivity.class);
intent.putExtra("", mId);
startActivity(intent);
}
}
for ( int i = 0; i< IDList.size() ; i++) {
btnDetails.setOnClickListener(new MyOnClickListener(IDList.get(i)));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.