如何生成具有相同意图但具有另一个 Extra 的多个按钮

Posted

技术标签:

【中文标题】如何生成具有相同意图但具有另一个 Extra 的多个按钮【英文标题】:How to generate multiple buttons that have the same intent but have another Extra 【发布时间】:2015-11-24 18:34:23 【问题描述】:

我正在尝试使用 LayoutInflater 在 Eclipse 中生成多个视图。该按钮也有一个 OnClickListener 并且它可以工作。意图开始,我给它一个额外的。

但我想要的是一个按钮保留它自己的附加功能。说第一个按钮有额外的:数字 1 第二个有 2 等等。目前所有按钮都获得相同的额外值,编号 5。因为当我尝试在 com.example.http WIZARD 中获得额外的意图时,它总是说 5

 String[] title = 
        "1",
        "2",
        "3",
        "4",
        "5"
    ;

LayoutInflater layoutInflator = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout insertPoint = (LinearLayout) findViewById(R.id.ll_content);
List<View> views = new ArrayList<View>();

for(int i=0; i<title.length; i++)
    View view = layoutInflator.inflate(R.layout.single_task, null);
    TextView textView = (TextView) view.findViewById(R.id.tvName);
    Button bStartWizard = (Button) view.findViewById(R.id.bStartWizard);

    textView.setText("Opdrachtnummer:" + title[i]);
    titleString = "Opdrachtnummer:" + title[i];

    bStartWizard.setOnClickListener(new OnClickListener() 
        @Override
        public void onClick(View view) 
            Intent i = new Intent("com.example.http.WIZARD");
            i.putExtra("Number", titleString);
            startActivity(i);
        
    );

    view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    views.add(view);


for(int i = 0; i<views.size(); i++)
    insertPoint.addView((View) views.get(i));

希望有人能帮帮我!

【问题讨论】:

【参考方案1】:

Button bStartWizard = (Button) view.findViewById(R.id.bStartWizard);

我认为您在这里遇到了问题,因为您想在 xml 上生成 5 个具有相同按钮 ID 的按钮,因此 onclicklistener 将尝试获取分配给按钮的最后一个值,即5、尝试为每个按钮生成不同的ID。

在创建按钮时检查此代码,操作值

Button bStartWizard = (Button) inflater.inflate(R.layout.play_game_option_button, layout, false);

【讨论】:

这个参数到底是什么意思:布局?

以上是关于如何生成具有相同意图但具有另一个 Extra 的多个按钮的主要内容,如果未能解决你的问题,请参考以下文章

具有相同意图的推送通知打开 Activity

我不知道如何将 setOndateChangeeListener 日期提供给具有意图对象的另一个活动

Gradle:如何为需要相同 Activity 但具有不同意图过滤器的不同 buildType 合并 Android 清单文件

如何阻止具有相同触发按钮但功能不同的表单提交?

如何生成一个 std::shared_ptr 与其控制块具有局部性但又是另一个类的集合?

ListView 始终具有相同的意图