2012-03-09 158 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

相關問題