2012-03-09 90 views
1

我发现很难在按钮onclick条件上进行循环。 我希望按钮可以在按钮上重复点击,文本随机更改。Android如果可以点击按钮来更改按钮上的文本

我应该添加什么?

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); 



     } 

    }); 

}}

+0

不知道你在找什么,你能提供的例子吗? – kosa 2012-03-09 15:35:16

回答

1

您的字符串qonCreate其中仅在启动时调用初始化。

您需要在您的onClick方法推动这一

+0

Yeahhh。 。非常感谢你。 。 :D的工作 – adig 2012-03-09 16:14:34

1

// 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); 



     } 

    }); 
+0

'((Button)v).setText(myString [rgenerator.nextInt(myString.length)]);'同样重要。为什么要首先创建'String q'? – Squonk 2012-03-09 15:38:14

+0

为什么不只编辑@ njzk2s答案的代码? – Jave 2012-03-09 15:40:31

+0

如果我这样做,OP将会感到困惑。我的回答刚刚减速。让他知道。我不想混淆OP。 – 2012-03-09 15:40:34