2010-10-12 41 views
-1

我是新來開發Android,但現在我的工作,顯示隨機的事實的應用程序。既然我不希望它是隨機排列的,我想把它們放在一個列表中。我想通過它們逐個訂購併使用TextView展示它們。導航陣列(安卓字符串數組)

Resources res = getResources(); 
myString = res.getStringArray(R.array.FactsArray); 

這就是我到目前爲止。如果我是對的,那只是建立陣列,以便我可以稍後使用它。我之前做過的是rgenerator,它從數組中選擇了一個隨機字符串,並在單擊按鈕時顯示它。

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

fact = myString[rgenerator.nextInt(myString.length)]; 

TextView tv = (TextView) findViewById(R.id.text1); 
tv.setText(fact); 

但就像我說的,我想通過他們一個接一個地按順序點擊按鈕。

回答

2

既然你顯示的字符串順序,你需要一個計數器變量來跟蹤你的陣列在的。它應該被初始化爲零。每次單擊該按鈕時,它應該遞增,直到到達數組(myString.length - 1)的末尾。

至於實際的事件處理,這並不難做到。你只需要爲你的按鈕創建一個setOnClickListener()

int count = 0; 
    Button b1 = (Button) findViewById(R.id.buttonName); 
    b1.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      if (count < myString.length) { 
       tv.setText(myString[count]); 
       count++; 
      } 
     } 
    }); 
+0

謝謝!我雖然有一個問題,如果你還在讀這...這是什麼電視意味着對「tv.setText(MyString的[統計]」? – 2010-10-12 22:56:17

+0

我指的是哪個初始化'TextView的電視你貼的代碼= ... '所以要回答你的問題,'tv.setText(myString [count]);'將TextView的文本設置爲當前的字符串,並且,如果你想要,可以在一行中運行整個條件語句,使用'tv.setText (MyString的[計數++]);!' – 2010-10-12 22:59:04

+0

OK,感謝您的幫助 – 2010-10-12 23:03:00