fragment A
で配置されているactivtity
を使用しています。 fragment A
には、tab A
,tab B
、tab C
の3つのタブが含まれており、アプリが起動するとtab B
が表示されます。これらの3つのタブはリストのいずれかがクリックされたときにリストを持ちますfragment A
がfragment B
に置き換えられました。これは、fragment B
からバックパックされたときにクリックされたタブを表示するはずです。tabactivityとfragmentを使用しているときに、バックプレスを処理する方法
-4
A
答えて
0
これに続きます。その素晴らしい例は、Fragment
にonBackPressed()
の機能を実装するためにAbstract Class
とBackable Fragment
を使用することです。
1)抽象クラスを作成する - これだけ
public class FragmentChannels extends BackableFragment {
...
@Override
public void onBackButtonPressed() {
if (doTheThingRequiringBackButtonOverride) {
// do the thing
} else {
//go to your preferable fragment or activity when you press back on any fragment
}
}
...
}
から
import android.app.Fragment;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
public abstract class BackableFragment extends Fragment implements View.OnKeyListener {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(this);
}
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackButtonPressed();
return true;
}
}
return false;
}
public abstract void onBackButtonPressed();
}
2)あなたのFragment
にAbstract Class
を実装します。 Reference
0
Try this in on click
view = getActivity().findViewById(R.id.activity_page1);
ViewPager viewPager= (ViewPager)view.findViewById(R.id.viewpager);
int tab = viewPager.getCurrentItem();
tab--;
viewPager.setCurrentItem(tab);
関連する問題
- 1. ボトムナビゲーションを完全にバックプレスで処理する方法
- 2. TabActivityをFragmentActivityとFragmentに置き換えよう
- 3. StreamContentを使用するときにストリームを正しく処理する方法
- 4. WLSTを使用してWeblogicロールを管理するときにグループ名のスペースを処理する方法は?
- 5. pyplotを使用しているときのデータ処理
- 6. ゲームフレームワークを使用していないときのページフレームタイミングの処理方法は?
- 7. SemaphoreSlimを使用しているときにハングするスレッドを処理する方法
- 8. SharePoint 2010でLists.asmxを使用するときにCommunicationExceptionを処理する方法
- 9. List.Sortを実行しているときに例外を処理する方法
- 10. 画像をロードしているときにimageViewを処理する方法
- 11. Pythonラムダを使用しているときに欠落フィールドを処理する
- 12. FragmentActivityとFragmentTransactionを使用してFragmentを管理していますか?
- 13. アクティビティがSharedPrefrenceに基づいて別のフラグメントにアタッチされているときに、バックプレスを処理する方法はありますか?
- 14. Turbolinks 5 in Railsを使用しているときにページ要素のイベントリスナを処理する方法は?
- 15. セレンを使用しているときにWindowsファイルのアップロードウィンドウを処理する方法
- 16. 別のドメインのiframe内でGoogleマップを使用しているときにgoogle apikeyを処理する方法
- 17. クォーツスケジューラを使用しているときにJavaFXアプリケーションのアプリケーションクローズを処理する方法は?
- 18. PetaPoco insertを使用しているときにデータベースのDEFAULT値を処理する方法は?
- 19. 以下のケースでファイルを処理しているときにNodeJsで約束を使用する方法
- 20. imap-idle-channel-adapterを使用しているときに接続/認証エラーを処理する方法
- 21. Flask Sqlalchemyでmysql jobstoreを使用しているときにデータベースの切断を処理する方法
- 22. qを使用して関数を宣言する方法とエラー処理を管理する方法は?
- 23. iOS AVAssetWriterを使用してビデオをキャプチャするときの向きを正しく処理する方法
- 24. `eval`を使用したときに` return false`を処理する
- 25. スレッドを使用してopenCVとMFCで画像を処理する方法
- 26. タイムスタンプと機能を使用してデータベース設計を処理する方法は?
- 27. PostgreSQLサーバプログラミング(SPI)を使用してバッファとセカンダリストレージを処理する方法は?
- 28. Javaでappiumとseleniumを使用してwebviewを処理する方法
- 29. Apacheを使用してDjangoサーバーとReactクライアントを処理する方法は?
- 30. 処理方法CopyingHandlerを使用するときに切り取り
ようこそスタックオーバーフロー! [良い質問をどうやってどうやるのですか?](https://stackoverflow.com/help/how-to-ask)と[最小限で完全で検証可能な例を作成する方法](https: //stackoverflow.com/help/mcve)。 – Teasel
これまでに試したことを投稿できますか? –