こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【Android開発】ボタンのテキスト表示

Android初心者です。現在画面遷移先の画面に配列で設定した質問文、選択肢を表示するアプリを制作しています。質問文はTextView、選択肢は2つのButtonにテキストとして表示する。画面遷移した後にsetQuestion()、setChoiceを呼び出したいんですが実機で試したところ、画面遷移した後に「問題が発生しため、(アプリ名)を終了します」とポップアップが出て、アプリが落ちます。
この2つのメソッドをonCreateに入れるのは間違なのでしょうか?どうすればうまくいきますか?初心者なのでうまく書けてないかも知れません。
よろしくお願いします。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);

setChoice();
setQuestion();
 }
int number = 0; //質問番号

//選択肢
Button button1;
Button button2;
Button button3;
Button button4;

//質問文を配列に格納
static String question[] = {
"質問文1",
"質問文2",
};

//選択肢
static String choice[][] = {
{"1番", "2番", "3番", "4番"},
{"1番", "2番", "3番", "4番"},
};

//問題の回答
static String answer[] = {
"2番", "4番"
};

//出力
//質問文を表示
public void setQuestion() {
String setQuestion = question[number];
//
TextView question = (TextView) findViewById(R.id.Question);
question.setText(setQuestion);
}

//選択肢の表示
public void setChoice() {
TextView button1 = (Button) findViewById(R.id.button1);
TextView button2 = (Button) findViewById(R.id.button2);
button1.setText(choice[number][0]);
button2.setText(choice[number][1]);
}

xml

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Question"
android:id="@+id/Question"
android:textSize="40dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="81dp" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:textSize="30dp"
android:onClick="choiceClick"
android:layout_above="@+id/button2"
android:layout_centerHorizontal="true" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:textSize="30dp"
android:onClick="choiceClick"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/button1"
android:layout_alignStart="@+id/button1" />

投稿日時 - 2016-06-26 18:04:17

QNo.9193205

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

(画面遷移せず)MainActivity で実行したら正常に起動できました。
断定はできませんが、「activity_main.xml」内で定義されている(ボタンなどの)ウィジェット(GUIコンポーネント)名と、「activity_sub.xml」内で定義されているウィジェット(GUIコンポーネント)名とで同じ名前があったら(同じ名前にならないように)変更してみて下さい。

投稿日時 - 2016-06-27 07:33:44

あなたにオススメの質問