1

randomGenerator を起動するボタンを作成しようとしています。

Random randomGenerator = new Random();
    int randomInt = randomGenerator.nextInt(9);
    String wordList[] = new String[9];
    {
        wordList[0] = "Mexican";
        wordList[1] = "American";
        wordList[2] = "Barbeque";
        wordList[3] = "Chinese";
        wordList[4] = "Indian";
        wordList[5] = "Italian";
        wordList[6] = "Thai";
        wordList[7] = "Viatnamese";
        wordList[8] = "Middle Eastern";

    }


 String wordToDisplay = wordList[randomInt];

これが私のレイアウトです。すでにボタンを作成してラベルを付けています。ここから先に進む方法がわからないだけです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:padding="@dimen/padding_medium"
        android:text="@string/hello_world"

        tools:context=".ImHungry" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/button1" />

</RelativeLayout>

ありがとう!

4

4 に答える 4

0
Button mButton; 
TextView mTextView;
String wordList[] = new String[9];


public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main); 

mButton = (Button)findViewById(R.id.button1); 
mTextView = (TextView) findViewById(R.id.textview1);
mButton.setOnClickListener(onClick); 


    {
        wordList[0] = "Mexican";
        wordList[1] = "American";
        wordList[2] = "Barbeque";
        wordList[3] = "Chinese";
        wordList[4] = "Indian";
        wordList[5] = "Italian";
        wordList[6] = "Thai";
        wordList[7] = "Viatnamese";
        wordList[8] = "Middle Eastern";

    }

    }



    private View.OnClickListener onClick= new View.OnClickListener() {
            // @Override
            public void onClick(View v) {

            Random randomGenerator = new Random();
         int randomInt = randomGenerator.nextInt(9);
         String wordToDisplay = wordList[randomInt];
        mTextView.setText(wordToDisplay);
        }

    };

注:コードでは、TextViewにid属性がありません。必ず追加してください。

<TextView
    android:id="textview1"
...
于 2012-08-26T20:10:49.037 に答える
0

私があなたを正しく理解したなら、あなたはこれをあなたのonCreate():に追加するべきです

     final Button button1 = (Button) findViewById(R.id.button1);
     button1.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             // Perform action on click
             Random randomGenerator = new Random();
             int randomInt = randomGenerator.nextInt(9);
             String wordToDisplay = wordList[randomInt];

             // display in TextView
             TextView tv = (TextView) findViewById(R.id.textview1);
             tv.setText(wordToDisplay);
         }
     });

android:id="textview1"そして、TextViewxmlに追加します。

于 2012-08-26T20:11:32.087 に答える
0

あなたはこのようなことをすることができます:

android:onClick="randomGenerator"ボタン属性に追加します。それからあなたの活動で。ボタンがクリックされたときに呼び出される関数を作成します。(ボタンがクリックされたときにランダム生成コードを実行したいと思いました。)

public void randomGenerator(View view){

    Random randomGenerator = new Random();
    int randomInt = randomGenerator.nextInt(9);
    String wordList[] = new String[9];
    {
        wordList[0] = "Mexican";
        wordList[1] = "American";
        wordList[2] = "Barbeque";
        wordList[3] = "Chinese";
        wordList[4] = "Indian";
        wordList[5] = "Italian";
        wordList[6] = "Thai";
        wordList[7] = "Viatnamese";
        wordList[8] = "Middle Eastern";

    }

    String wordToDisplay = wordList[randomInt];

}

お役に立てば幸いです。

于 2012-08-26T20:11:35.457 に答える
0

onCreateメソッドで次のようなことを試してください。

Button btnStart = (Button) findViewById(R.id.button1);
TextView tv = (TextView) findViewById(R.id.textview1);

btnStart.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(final View v) {
        tv.setText(wordToDisplay);
        }
    });

また、TextViewでIDを設定することを忘れないでください。すなわち

<TextView
    android:id="textview1"
...
于 2012-08-26T20:14:12.780 に答える