我正在动态创建按钮到线性布局,单击按钮后会转到新活动。我想传递一个字符串,其中包含有关使用该活动单击哪个按钮的信息作为putExtra。由于某种原因,我添加到每个按钮onClickListener的意图被覆盖,因此它只发送最后一个按钮的字符串而不是被点击的按钮:
LinearLayout l = (LinearLayout) findViewById(R.id.allOptions);
for(int i=0; i<currentOptions.size(); i++){
Button newButton = new Button(this);
SortingGroup s = currentOptions.get(i);
newButton.setText(s.getName());
sortGroupName = s.getName();;
newButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(),CategorySelector.class);
intent.putExtra("sorting_category_name",sortGroupName);
startActivity(intent);
}
});
l.addView(newButton);
}
答案 0 :(得分:3)
在ArrayList中添加eclipselink.weaving=false
,在按钮
-javaagent:<path_to_maven_REPO>\org\springframework\spring-instrument\4.3.9.RELEASE\spring-instrument-4.3.9.RELEASE.jar
sortGroupname
设置按钮ID
newButton.setId(ⅰ);
将名称添加到arrayList
setid()
像这样的OnClick Listener
ArrayList<String> names=new ArrayList<>();