Eclipse にデフォルトの Android プロジェクト レイアウトがあります。「dummyText」と上部にスイッチャーが付属する現在のもの。(ウィザードでそれを選択しました。)
上部のセレクトバーで画面を切り替えたい。メイン、設定、および結果の間。
現在のアクティビティを検出するにはどうすればよいですか?
なぜなら..次のようなスイッチがある場合:
switch (getArguments().getInt(ARG_SECTION_NUMBER)) { ... }
現在の画面が一番上で選択されている場合、無限ループに入ります。
(例: 値 1 = メイン画面。アプリケーションを開くと、値は 1 です。それはメイン画面にあります。メイン画面が無期限に何度も開きます。2 などの他の値を選択すると、適切な画面に移動すると、ループしません。)
これを修正するにはどうすればよいですか?
(新しいインテントで別のアクティビティを開き、startActivityForResult(...)
.
更新 #1:
スイッチは、で作成される「DummySectionFragment」に入りましたonNavigationItemSelected
。
次のようになります。
Fragment fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, position + 1);
fragment.setArguments(args);
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, fragment).commit();
つまり、基本的にそれは正しいように見えます... 私には。スイッチがアクティブになり、対応する値がダミーに送信され、スイッチは適切なアクティビティを起動するように機能します。現在のアクティビティが「呼び出される」ものと一致する場合、アプリは何もしないというifステートメントを書くだけです。
これをどのように実装すればよいですか?
(コードが少し乱雑であることはわかっています。サンプルは Google のせいです。)
私が使用した Google の例/コードに慣れていない場合は、https : //gist.github.com/anonymous/4edaefa42dd1be96e6e4 をご覧ください。
それは「空白のアクティビティ」->「ドロップダウン」です。