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 类