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 应用程序中更改片段的方法。但是更改后我无法在我的第二个片段中导航。焦点会丢失。

我实际上只是在使用 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);

}

两个 Fragment 都扩展为 Android Studio 中包含的同一个 BrowseFragment 类

4

1 回答 1

-2

您应该使用 addToBackStack() ,这将使导航更容易。

于 2020-06-23T16:24:33.537 回答