Androidアプリケーションで複数の画面をどのように処理しますか? 問題なく下部のタブ バーで開発しましたが、画面上のすべてのコンテンツを、プロジェクトで作成した新しい .xml レイアウト ファイルのコンテンツに置き換えたいと考えています。さらに、バックエンド コードを新しいレイアウト ファイルに結び付ける方法を教えてください。この質問はおそらく既に存在し、グーグルで検索できると確信しています(新しい単語を作成した可能性があります)。とはいえ、自分が何を求めているのか正確にはわかりません。よろしくお願いします。
4 に答える
必要なことは、新しいアクティビティを作成して AndroidManifest.xml に追加することです。
<activity android:name="ActivityClassName" android:label="Label for the Activity"></activity>
メソッドで呼び出すことができます。
public void startActivity() {
Intent someName = new Intent(CurrentClass.this, ActivityClassName.class);
startActivity(someName);
}
それは本当にあなたがあなたのアプリケーションをどのように流したいかに依存します。
ユーザーが次のことを行うシナリオを考えてみましょう。
- 最初のアクティビティを開始します
- 2番目のタブを押します
- 3番目のタブを押します
- 戻るボタンを押す
画面ごとに個別のアクティビティを使用すると、次のようになります
- アクティビティ1が開始されます
- アクティビティ2が開始されます
- アクティビティ3が開始されます
- アクティビティ3が閉じられ、ユーザーはアクティビティ2に戻ります
(この場合、戻るボタンをもう一度押すとアクティビティ1に戻り、もう一度押すとアプリケーションが終了します)
すべてのタブに1つのアクティビティを使用した場合、次のようになります。
- アクティビティ1が開始されます
- アクティビティ1は、タブコンテンツをタブ2コンテンツに設定します
- アクティビティ1は、タブコンテンツをタブ3コンテンツに設定します
- アクティビティ1が閉じられ、ユーザーがホーム画面に戻ります
タブ付きの画面を使用している場合は、2番目の方法(TabHost
または同様の単一のアクティビティ)が推奨される方法です。そうしないと、ユーザーはタブを切り替えるだけで(つまり、タブを切り替える場合に)大きなアクティビティスタックを作成することになります。多くの場合、終了するには戻るボタンを何度も押す必要があります)。
単一アクティビティのアプローチを採用したい場合は、とについて調査しTabHost
てTabContentFactory
ください。createTabContent
ファクトリの方法では、XMLからビュー/レイアウトを拡張して、を使用してタブコンテンツとして設定できますView.inflate
。それらを調べて戻ってきて、行き詰まったら別の質問をしてください;)
通常、Android アプリケーションは画面ごとに個別のアクティビティを使用し、 Activity.startActivityとActivity.startActivityForResultを使用してそれらを切り替えます。Intent.putExtraを介してアクティビティに任意のデータを渡すことができます。
お役に立てれば、
フィル・レロ
複数のアクティビティで遊びたいと思うかもしれません....複数のアクティビティとそれぞれに1つのxmlを持つことができます...このようにして、異なる画面を持つことができます...これらのリンクを確認してください。複数のアクティビティ、アクティビティの作成....これがお役に立てば幸いです...