1

以前に作成したレイアウトの読み込みに問題があります。それをロードして、内部のボタンのテキストを変更してから、ユーザーに表示したいと思います。クイズの質問になりますので、1回のアクティビティで何度も見せなければなりません。レイアウト用に新しいクラスを作成したくありません。

何を使用する必要がありますか?Inflateクラスについて何か読んだのですが、それは新しいクラスを作成するためだけに使われていると思います。メソッドを試しsetContentView()ましたが、このロードを実行するメソッドが開始するとアプリが停止します。

LinearLayout layout = (LinearLayout) findViewById(R.id.CapitalQuestionLayout);
setContentView((View) layout);

誰かがいくつかのヒントを与えることができますか?

4

3 に答える 3

0

「クイズ」アプリを作成するための基本的な要件は次のとおりです。

  1. TextView質問Buttons用とオプション用の4つのレイアウト。
  2. 一連の質問; かなり明白 :-)。

カスタムクラスを作成できます-質問のテキストとそれに関連するオプション(文字列として)を保持する質問。

これで、ボタンのテキストが異なる新しい質問を表示する場合は、次のようにするだけです。

  1. ユーザーが正しい答えをクリックした場合Right-Answer-Activityは、ユーザーにを表示します(がありますnext-question-Button)。
  2. ユーザーがクリックすると、レイアウトビューにランダムに選択された質問オブジェクトの属性(つまり、質問のテキストとオプションのテキスト)next-question-buttonを表示して入力できます。Question-Activity

お役に立てれば。

于 2012-10-25T18:34:27.363 に答える
0

次のように、Rクラスから呼び出す場合は、idフィールドではなくlayoutフィールドを使用してみてください。

LinearLayout layout = (LinearLayout) findViewById(R.layout.CapitalQuestionLayout);
setContentView((View) layout);
于 2012-10-25T19:29:09.807 に答える
0

これはAndroidアプリでは非常に一般的です。フィールド/ボタンにIDがありますか?親の活動については、ほとんどの場合、

Button someButton = (Button) findViewById(R.id.the_id_to_the_button_you_want_to_change);

これにより、次のようなことができます

someButton.setText("What is the ultimate answer to life, the universe, and everything?");

色の設定などの他のことをしたい場合は、Andoridのドキュメントを調べてください。ある種のビューグループ(RelativeLayout / LinearLayoutなど)がある場合は、その特定のビューグループを指定できます

Button someButton = (Button)viewGroup.findViewById(R.id.awesomely_named_button_identifier);

上記のsomeOtherButtonは、膨張したviewGroupsでより頻繁に使用されます

于 2012-10-25T19:41:58.917 に答える