1

これは私を悩ませてきました。私は初心者であり、これを理解できないようです。これが私のコードです:

package com.example.imhungry;

import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;



public class ImHungry extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_im_hungry);

        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];
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_im_hungry, menu);
        return true;
    }

    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];




}

基本的に、wordToDisplay を textView に表示しようとしていますが、その方法がわかりません。

 <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=""
        tools:context=".ImHungry" />

また、初心者で何度も質問してすみません。ありがとう!

4

3 に答える 3

0

To make your test appear in TextView you have to set it with setText();, so basically you have to assign your textview id or tag (add android:id="@+id/mytextview) then get that object TextView tv = (TextView)findViewById(R.id.mytextview); tv.setText("foo"); I'd also recommend going through some tutorials on android basics - will help

于 2012-08-26T20:43:50.680 に答える
0

ID を TextView に追加します。

   <TextView
    android:id="@+id/text_random_text"
    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=""
    tools:context=".ImHungry" />

コードで次のことを行います。

ボタンの直後に追加:

final TextView textView = (TextView) findViewById(R.id.text_random_text);

onClick(View v) メソッドで wordToDisplay をテキストに設定します

textView.setText(wordToDisplay);
于 2012-08-26T20:45:19.557 に答える
0

効率のためにこれを試してください:

public class ImHungry extends Activity {
    Random mRandomGenerator = new Random();
    TextView mTextView;
    String mWordList[] = new String[] { 
        "Mexican", "American", "Barbeque",
        "Chinese", "Indian", "Italian",
        "Thai", "Viatnamese", "Middle Eastern" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_im_hungry);

        mTextView = (TextView) findViewById(R.id.textView);
        final Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                mTextView.setText(mWordList[mRandomGenerator.nextInt(9)]);
            }
        });
    }
}

残りのコードを削除できます。

乱数オブジェクトを 1 つ作成するだけでよく、ランダムな整数または対応する文字列をローカル変数に保存する必要はありません。ただし、読みやすさを向上させたい場合は、ローカル変数に保存してもかまいません。

于 2012-08-26T20:49:02.033 に答える