2

ある種のクイズとして機能するゲームを構築しています。私はユーザーに質問をし、彼が回答を送信したとき (正解をクリックまたはタッチ)、他の質問でページを更新する必要があります。

これをどのように実装すればよいですか?ユーザーの応答を待って、onClick または OnTouch リスナーが終了したときに続行する方法は? Handler クラス、インテント、または何か他のものを使用する必要がありますか?

事前に助けを求めてください。

編集: 次のシナリオが必要です: 画面に質問と 3-4 個のクリック可能な ImageButtons があります。カスタム showQA() 関数からいくつかのレイアウトを動的に構築しています。ユーザーが答えを選択し、正しい答えをクリックした場合、画面上である種のアニメーションを開始する必要があります。私は onClickListener からそれを行いました。ここで、アニメーションがユーザーに表示された後に呼び出す必要がある showQA() 関数からレイアウトを再度作成する (新しい質問と回答を表示する) 必要があります。onClickListener() がいつ作業を終了したかを知るにはどうすればよいですか?

4

3 に答える 3

2

あなたの場合、1 つのアクティビティで十分だと思います。このアクティビティに 2 つのビュー (質問、回答) を配置するだけで、それに応じて可視性を切り替え、質問/回答のコンテンツを更新できます。

クリック/タッチの場合: ユーザーが提供する必要がある回答の種類によって異なります (テキストの入力、ボタンのクリック、スライダーの使用など)。しかし、リスナー、つまりボタンの onClickListener が適切です。

クイズの場合、基本的なものから拡張したカスタム ウィジェットに特別なロジックを実装することをお勧めします。つまり、A) - E) 回答ボタン (つまり、数が柔軟) などのボタン グループを拡張し、ゲーム ロジックを抽象化します。少し。

しかし、それは実際にはゲームの詳細に依存するものではなく、ゲームプレイの詳細を知らずに多くを語ることはできません.

于 2010-08-17T00:28:55.547 に答える
1

通常、アプリを整理する最も簡単な方法は、新しいビューごとにアクティビティの新しいインスタンスを開始することです。

あなたの場合、すべての質問のリストを持つ 1 つの基本アクティビティがあるとします。

ShowQuestionActivity は、インテント エクストラを介して質問と回答の選択肢のリストを受け取ります。

BaseActivity は、最初の質問で結果の ShowQuestionActivity を開始します。ユーザーが回答をクリックすると、ShowQuestionActivity が終了します。追加で答えを返すことができます。

BaseActivity は、2 番目の質問の結果に対して ShowQuestionActivity をすぐに開始します。ユーザーには、ある質問から次の質問にスムーズに移動したように見えます。

または、各 ShowQuestionActivity で次の ShowQuestionActivity を開始することもできますが、その場合、どの質問を表示するか、およびインテントを介してすべての回答を追跡する必要があります。

于 2010-08-17T00:50:30.833 に答える
0

AnimationListenerを使用して問題を解決しました。ユーザーが回答をクリックした後にアニメーションを開始し、onAnimationEnd メソッドからユーザー インターフェイスを作成するための showQA() 関数を呼び出しました。

于 2010-08-20T00:21:57.917 に答える