首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -动态设置意图Extras

Android -动态设置意图Extras
EN

Stack Overflow用户
提问于 2014-02-21 14:25:47
回答 1查看 1.2K关注 0票数 4

我试图在创建时将一个ID传递给我的新活动。

显而易见的解决方案似乎是使用“Intent.putExtra(名称,值);”。但是,由于意图只在单击时创建,所以我的所有按钮都有相同的意图附加(通常为null)。

有什么方法可以从循环中初始化这些信息吗?

代码语言:javascript
复制
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
    }

在代码片段中,IDList.get(i)超出了作用域,在单击按钮之前不会检查新的最终Int,也会超出范围。

我还能在点击时发送变量吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-21 14:28:22

您可以使用一个内部类来实现OnClickListener,并将id作为参数。例如

代码语言:javascript
复制
 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)));
 }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21937078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档