Android中的随机按钮启用
我需要使用随机数启用Android中的随机按钮启用,android,button,resources,Android,Button,Resources,我需要使用随机数启用按钮。按钮的名称是button1、button2、button3。这是我的密码: b = (Button) findViewById(R.id.button1); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { b.setBackgroundColor(R.color
按钮
。按钮的名称是button1、button2、button3。这是我的密码:
b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
b.setBackgroundColor(R.color.redwue);
setNextButton(b);
}
});
public void setNextButton(Button str){
System.out.println("&&&&&&&&&&& SETNEXTBUTTON");
str.setEnabled(false);
int zufall = (int) (Math.random()*2);
int buttonid = str.getId();
int buttonname = (int) str.getId();
System.out.println("&&&&&&&&&&&" + getResources().getResourceEntryName(buttonid));
Button bnew = new Button(this);
bnew.setTag(buttonname);
System.out.println("&&&&&&&&&&&" + getResources().getResourceEntryName(bnew.getId()));
bnew.setEnabled(true);
现在有了这个解决方案,我得到了一个
找不到资源id
错误。我知道这是为什么,但我找不到一个解决方案,当按钮由button bnew=new button(此按钮)创建时,如何随机启用不同的按钮?代码>没有为该按钮分配id。你必须自己做:
bnew.setId(yourId);
创建一个数组,用于保存要使用的所有按钮的id。将randon编号与阵列上的位置匹配,以获取该按钮的id
int[] buttonIds = {R.id.button1, R.id.button2, R.id.button3};
Button bnew = (Button) findViewById(buttonIds[zufall]);
bnew.setEnabled(true);
您必须确保zufall位于[0,buttonIds.length-1]中范围当其中一个按钮被单击时,您希望执行一些不同的操作,而当任何其他按钮被单击时,您希望执行一些其他操作?我希望如果单击一个按钮,则禁用此操作并启用随机其他按钮。确定,但按钮2和按钮3已具有ID。使用“新建”,我只希望随机访问这两个按钮中的一个。