有很多以编程方式创建的按钮,其中有两个:
Button agafon_1 = new Button(this);agafon_1.setText(R.string.txt_agafon_1);llPreViewList.addView(agafon_1, lParams);
Button agafon_2 = new Button(this);agafon_2.setText(R.string.txt_agafon_2);llPreViewList.addView(agafon_2, lParams);
有OnClickListener,它有一个开关。我需要插入什么来代替问号才能使开关正常工作?
switch (???) {
case ???:
//
break;
case ???:
//
break;
}
文件R.java甚至没有提到id按钮,这使得无法使用v.getId()......
答案 0 :(得分:1)
如果您为每个按钮使用相同的OnClickListener
,则为Button
的每个Button.setId(int)
设置不同的ID,并为v.getId()
使用switch
,其中v
是onClick()
的参数。否则,您可以为每个按钮创建不同的OnClickListener
答案 1 :(得分:0)
您的课程应该实施OnClickListener
public class MainActivity extends Activity implements OnClickListener
然后
Button agafon_1 = new Button(this)
agafon_1.setId(yourbuttonid);
agafon_1.setOnClickListener(this);
然后
@Override
public void onClick(View v)
{
switch(v.getId())
{
case buttonid1 : // id must match
break;
case buttonid2 :
break;
...
}
}