2011-02-27 13 views
0

私はクイズのアプリケーションを作りたいと言います。そして、私は90の質問を持っています - 3つの質問、それぞれの活動は30の活動です。すべてのアクティビティをどのようにするかを知っている方法は、それぞれのクラスを作成することです。 30クラスは大変です。Android 30アクティビティ、1つにする方法

私はこの方法を使用しています:

startActivity(new Intent(this, Myclass.class)); 

すべてのこれらの活動を行うための最善の方法は何ですか?それとも、すべてが1つに起こりますか?

ありがとう、何かがはっきりと説明されていない場合は、コメントしてください。

答えて

0

あなたができることの1つは、1つのアクティビティ内でviewflipperを使用して、そこにいくつかの異なるビューを表示することです。グループごとにビューフリッパを使用して、質問をグループ化し、グループごとに1つのアクティビティを使用することができます。

+0

アイデアをありがとう、私はviewflippersについて知りませんでした。これはそうかもしれない、明日テストするつもりです。ありがとう! – Muazam

1

私は、ビュー(活動)からのデータ(質問/回答)を分離し、それが/ショーをロードするためにどの質問を知らせるためのパラメータでクイズの活動を開くには、いくつかのIntent.putExtra()を使用しようとするだろう。

私はではありません。ですが、私はアクティビティインスタンス間で質問データを共有するために、そのアクティビティの静的変数に入れることができると思います。

計画がstart quiz -> good answer -> start another quiz -> ...のようになる場合は、android:noHistoryを使用して、すべての古い質問アクティビティをメモリに残さないようにすることができます。

+0

ありがとう、私はまだ30の活動をする必要がありますか? Intent.putExtraはデータを渡すだけなので、私が間違っているなら私を訂正してください。しかし、すばやい返信に感謝します。 :) – Muazam

+0

@Muazamよく動くように、あなたは動的なアクティビティを作成する必要があります。そのため、余分なパラメータを使用して3つの質問を読み込むことができます。これはプログラミングとほぼ同じですが、より多くの設計作業が必要になるかもしれませんが、いったんソリューションを入手すれば再利用できます。 – bigstones

0

bigstonesが正しいです。データをアクティビティから分離し、単一のアクティビティのみを作成する必要があります。次に、現在表示されている一連の質問に回答したときにクリックするボタンを持つことができます。そのボタンをクリックすると進行スピナーが表示され、次の3つの質問がバックグラウンドで読み込まれます。これはすべて1つのアクティビティで実行する必要があります。

0

Mauzam。 私はより良い解決策を持っています。 1つのアクティビティを使用して、代わりに[Expandable List]ビューを使用することもできます。 このアクティビティにはすべての質問があり、特定の質問をクリックすると、このリストビューが展開されてオプションが表示され、回答が選択されたときにどこかに保存できます。ここ

は一例です: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html

私はこれが役に立てば幸い!

関連する問題