0
 public void changeFragment(String str) {


    SecFragment nextFrag = new SecFragment();
    Bundle args = new Bundle();
    args.putString("site", str);
    nextFrag.setArguments(args);
    getFragmentManager().beginTransaction()
            .replace(((ViewGroup) getView().getParent()).getId(), nextFrag)
            .commit();


}

これは、Android TV アプリでフラグメントを変更する私の方法です。しかし、変更後、2番目のフラグメントでナビゲートできません。ピントがズレる。

私は実際に Mainfragment のコピーを他の情報とともに使用しています。これは 2ndFragment の onactivitycreated メソッドです。

@Override
public void onActivityCreated(Bundle savedInstanceState) {

    Bundle bundle = getArguments();
    if (bundle != null) {
        site = bundle.getString("site");
    }

    super.onActivityCreated(savedInstanceState);
    page = 1;

    list = new ArrayList<Movie>();
    prepareBackgroundManager();

    setupUIElements();
    loadRows1();
    setupEventListeners();
    Bitmap mIcon = BitmapFactory.decodeResource(act.getResources(), R.drawable.splash);
    bm = BackgroundManager.getInstance(act);
    //bm.attach(act.getWindow());
    bm.setBitmap(mIcon);

    SetupVideos(site);

}

両方のフラグメントは、Android Studio に含まれる同じ BrowseFragment クラスに拡張されます

4

1 に答える 1

-2

ナビゲートしやすくする addToBackStack() を使用する必要があります。

于 2020-06-23T16:24:33.537 に答える