2011-07-19 10 views
4

私はAndroidプログラミングには慣れていますが、かなり強いJavaの背景を持っています。私は様々な短い「レベル」を進めることを含むかなりシンプルなゲームの作成に取り組んでいます。すべてが時間を掛けられ、目的は最速の時間を得ることです。私はレベルが非常に短いので、引用を引用しています。主に次のステップに進む前に、いくつかの簡単なタスク(ボタンをクリック)を行うことが含まれます。その結果、レベルごとに異なるアクティビティを作成するのではなく、すべてのアクティビティを1つのアクティビティに収めることにしました。ユーザーが1つのレベルのすべてのタスクを完了すると、setContentView()メソッドを使用して別のレイアウトが設定されます。私の問題は、レイアウトを切り替えるたびに、同じ名前が付けられていても、findViewById()を使ってボタンへのポインタをリセットする必要があることです。なぜ誰かが私がこれをする必要があるのか​​説明することができれば、それは非常に役に立つでしょうか?また、私はかなり新しいアンドロイドですので、おそらく私はこれについて最も効率的な方法で行くつもりはありませんか?どんな提案も歓迎され、感謝されます。同じアクティビティ内で複数のレイアウトを変更/使用していますか?

また、これはおそらく関連していると思いますが、レイアウト全体で永続化したいクロノメーターがありますか?私は他の質問でこれがアクティビティ間では不可能であることを見てきましたが、私はレイアウトを越えた事例をチェックしたいと思っていました。

ご協力いただきありがとうございます。

編集:アニアありがとう、viewflipperは完璧なソリューション

編集のようになりますので、いくつかはViewFlipperで実験した後、私は私のプロジェクトのためにそれを使用することを決定しました。新しいレベルのボタンをすべて追加するという問題は解決しませんが(これはすべてのレイアウトでも各ボタンに別の名前を付けて解決しました)、利便性だけでなく素晴らしいアニメーション効果も私に与えましたshowNextとshowPreviousメソッドを使用する

答えて

2

お試しでしたか?ViewFlipper?この場合、完璧な解決策のようです。

+0

ViewFlipperを見てから、私はあなたのアイデアで、私は基本的にレイアウトを循環するのにこれを使用すると思っていますか?私は以前これを使用していないので、毎回ボタンをリセットしなければならないかどうか考えていますか? – jmh

+0

ViewFlipperでは、複数の異なるビューをアニメーション化することができます。あなたが今やっているのと同じです。私はあなたがボタンをどのように定義するのかわからない、あなたのレイアウトにあるの?ボタンが常に存在する場合は、レイアウト内のViewFlipperおよびボタンを使用できます。 VFはビュー間を切り替えますが、ボタンは常に表示されます。同じことがクロノメーターで動作します。 – ania

+0

このメソッドはxmlファイルから新しいレイアウトを作成するため、ボタンはsetContentViewの後にありません。あなたは同じidを持つボタンを定義しても何も変わらないが、setContentViewメソッドの後に以前のビューオブジェクトを利用できなくなったばかりで、新しいレイアウト(ビューオブジェクト)が作成されることを期待している)。この場合、同じ名前をつけても何も変わらないので、新しいレイアウトでオブジェクトを再度見つけなければなりません。 – ania

関連する問題