0

この質問には、実際には 2 つの部分があります。

最初の部分:

私は最初のアプリを数週間開発しています。私は5つのスクリーンを持っていますが、すべてがうまくいっています。ただし、アプリのナビゲーションを TabView に変更することを検討しています。

私はそれについてあまり掘り下げていませんが、誰かが私に少し時間を節約してくれることを願っています. 各タブ内にアクティビティを配置することは一般的にないようです。タブのコンテンツをビューにポイントするだけです。ここに私の大きな挫折があります。1) コードでいっぱいのアクティビティ クラスが既にあり、2) TabView を使用したアプリの構造がどのように見えるかすぐに推測できません。たとえば、ビューのボタンをクリックするためのハンドラー コードはどこに配置すればよいでしょうか。どういうわけか、すべてがTabViewアクティビティにダンプされますか?

私がやろうとしていることの簡単な概要、私が持っていると思われる質問への回答、およびTabViewアプリケーションを作成するためのリソースを教えていただければ幸いです. Google で簡単に検索すると、TabView アクティビティを作成し、いくつかのタブを追加する方法が示されます。コードはこれ以上深くなりません。たとえば、タブのコンテンツ ペインの 1 つに表示するレイアウト xml があるとします。そのレイアウトにあるボタンをクリックするためのコードはどこに行くのでしょうか?

2 番目の部分:

現在持っているアクティビティをラップするために TabActivity を追加しました。現時点では、タブのコンテンツを設定するアクティビティがあります (ただし、最終的には最も効率的な方法でこれを実行したいと考えていますが、そうではないようです)アクティビティをタブ コンテンツにする)。かなり厄介なことに気づきました。私の MAIN アクティビティは、ユーザーが自分のアカウントにログインするために作成したアクティビティです。ログインすると、タブ アクティビティに移動します。何が起こるかは次のとおりです。

タブ アクティビティを使用しているときに、[ホーム] ボタンをクリックしてアプリを「最小化」してから再度起動すると、タブ アクティビティに戻りません。ログイン アクティビティに移動します。なんで?タブ アクティビティの launchMode が singleInstance に設定されていません... それとも、デフォルトで singleInstance ですか? タブアクティビティを表示するアプリを再起動するにはどうすればよいですか (理想的には、何か間違ったことをしていると仮定して、いくつかのパラメーターを設定し、このデータをどこかに保存して読み取り、プログラムで何に移動するかを指示する必要はありません) ?

いつもお世話になり、ありがとうございます

4

1 に答える 1

0

TabActivity でのサブアクティビティの使用を回避することの推奨についてはコメントしません。ハンドラーについては、アクティビティの代わりにビューを埋め込まない場合android:onclick、レイアウト XML のすべてのタイプ ハンドラー設定が TabActivity のメソッドを呼び出します。これは、ビューのメソッドに移動するためですContext。これは、通常、最も近いアクティビティを含んでいます。アクティビティを使用せずにコードをさらに分割したい場合は、findViewById設定後にタブ コンテンツ ビューで呼び出しを使用し、そこから手動でハンドラーをコードにバインドする必要があると思います。

于 2010-08-02T18:22:15.240 に答える