我试图使用LayoutInflater在eclipse中生成多个视图。该按钮还有一个OnClickListener,它可以工作。意图开始,我给它一个额外的。
但我想要的是一个按钮让它自己的额外功能。说第一个按钮有额外的:数字1,第二个按钮有2,依此类推。目前al按钮获得相同的额外值,数字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));
}
我希望有人可以帮助我!
答案 0 :(得分:0)
按钮bStartWizard =(按钮)view.findViewById(R.id.bStartWizard);
我认为您在此处遇到问题,因为您要在xml上生成5个具有相同按钮ID的按钮,因此 onclicklistener 将尝试获取分配给该按钮的最后一个值这是5,尝试为每个按钮生成不同的ID。
在创建按钮时检查此代码,操纵值
Button bStartWizard = (Button) inflater.inflate(R.layout.play_game_option_button, layout, false);