2012-05-03 160 views
0

我有大約150種不同的文本,當我按Button時,我想按隨機順序顯示。每次按Button時都會有一個新的。我已經想通了這個代碼:單擊按鈕上的隨機文本

Random myRandom = new Random(); 
    TextView textblondin = (TextView) findViewById(R.id.textblondin); 
    switch(myRandom.nextInt() %3) { 
     case 0: 
     textblondin.setText("Text 1"); 
     break; 
     case 1: 
     textblondin.setText("Text 2"); 
     break; 
     case 2: 
    textblondin.setText("Text 3"); 
    break; 
     default: 
    break; 
    } 
} 
} 

我可以得到它連接到一個Button。有人知道怎麼做嗎?

public class Blondinskamt extends Activity {   <----X 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.blondintext); 
    View myRandom = findViewById(R.id.myRandom); 
    myRandom.setOnClickListener(null); 


    myRandom.setOnClickListener(new View.OnClickListener() { 
    Random myRandom = new Random(); 
    TextView textblondin = (TextView) findViewById(R.id.textblondin); <----X 
    switch(myRandom.nextInt() %3) { 
    case 0: 
     textblondin.setText("Skämt"); 
     break; 
    case 1: 
     textblondin.setText("Roligt"); 
     break; 
    case 2: 
     textblondin.setText("kul kul kul kul"); 
     break; 
     default: 

}}

我仍然得到錯誤,在這裏我把 「< ---- X」 什麼我做錯了什麼?

回答

0

存儲中的所有150串在一個ArrayList並顯示由隨機生成的數字的文本。

樣本;

ArrayList<String> arr_str = new ArrayList<String>(); 

arr_str.add(String Parameter) // add the all strings in arraylist by using the method. 

Random randomGenerator = new Random(); 
int randomInt = 0; 

within the button onclick listener write the following code. 
{ 
    randomInt = randomGenerator.nextInt(149); // this will generate random number b/w 0 to 149. 
textView.setText(arr_str.get(randomInt)); // you can get the n th number of string stored in the arraylist. 
} 
+0

use Button myRandom = findViewById(R.id.myRandom); myRandom.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ //單擊執行操作 } }); –

1

你必須添加一個監聽器到你的按鈕。

textblondin.setOnClickListener(new View.OnClickListener() { 
    ... your code here ... 
}