簡體   English   中英

Android - 動態設置intent Extras

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

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