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」を入力してもエラーが発生します。何が間違っていますか?

4

4 に答える 4

2

onClickListener には、呼び出すコンテキストがありませんfindViewById()。代わりに、アクティビティがクリック リスナーを実装するデザイン パターンを使用することになるでしょう。http://android-developers.blogspot.com/2009/10/ui-framework-changes-in-android-16.htmlを読み、「イージー クリック リスナー」を検索します。

于 2012-05-03T21:33:25.413 に答える
1

ボタンにリスナーを追加する必要があります。

textblondin.setOnClickListener(new View.OnClickListener() {
    ... your code here ...
}
于 2012-05-03T19:55:06.193 に答える
0

150個の文字列すべてを配列リストに格納し、ランダムに生成された数値でテキストを表示します。

サンプル;

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.
} 
于 2012-05-03T18:46:05.773 に答える
0

Android ドキュメントでは、ボタンのクリックでコードを実行する方法を見つけることができます。

http://developer.android.com/reference/android/widget/Button.html

于 2012-05-03T18:37:47.677 に答える