2012-05-03 4 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 (новый View.OnClickListener() { public void onClick (View v) { // Выполнение действия при нажатии } }); –

1

Вы должны добавить слушателя к своей кнопке.

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

У вашего onClickListener нет контекста, из которого можно позвонить findViewById(). Вместо этого я бы использовал шаблон дизайна, в котором ваша деятельность реализует прослушиватель кликов. Прочтите http://android-developers.blogspot.com/2009/10/ui-framework-changes-in-android-16.html и ищите «Легкие клики».

Смежные вопросы