Android如果可以点击按钮来更改按钮上的文本

Android如果可以点击按钮来更改按钮上的文本,android,button,loops,Android,Button,Loops,我发现很难在点击条件下对按钮进行循环。 我想这个按钮可以反复点击按钮,文本被随机更改 我应该补充什么 private String[] myString; private static final Random rgenerator = new Random(); @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCrea

我发现很难在点击条件下对按钮进行循环。 我想这个按钮可以反复点击按钮,文本被随机更改

我应该补充什么

private String[] myString; 
private static final Random rgenerator = new Random();

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.next);
    Resources res = getResources();

    myString = res.getStringArray(R.array.myArray); 

    final String q = myString[rgenerator.nextInt(myString.length)];


    Button btn2;
    btn2 = (Button)findViewById(R.id.button3);
    btn2.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {


            ((Button) v).setText(q);



        }

    });
}
}

字符串
q
onCreate
中初始化,仅在启动时调用


您需要在您的
onClick
方法中移动此选项

//njzk2答案正确尝试此选项

    Button btn2;
    btn2 = (Button)findViewById(R.id.button3);
    btn2.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

   String q = myString[rgenerator.nextInt(myString.length)];
            ((Button) v).setText(q);



        }

    });

不确定您在寻找什么,可以提供示例吗?
((按钮)v).setText(myString[rgenerator.nextInt(myString.length)]也同样有意义。为什么首先要创建
字符串q
?如果我这样做,OP会感到困惑。我的回答只是改变了减速。好让他知道。我不想把OP.ya@Jave搞混你是对的。我也有编辑其他答案的权限。如果我单击按钮文本,则上面的代码只在单击时起作用一次。@adig'rgenerator.nextInt(myString.length)'这将起什么作用?@adig'rgenerator.nextInt(myString.length)'myString.length“总是一样的对。