【问题标题】:Focus lost after Fragment Change (ANDROID TV)片段变化后失去焦点(ANDROID TV)
【发布时间】:2020-10-13 18:35:49
【问题描述】:
 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 类

【问题讨论】:

    标签: android android-tv leanback browsefragment


    【解决方案1】:

    您应该使用 addToBackStack() ,这样可以更轻松地导航。

    【讨论】:

    • 已经尝试过,使用 addtobackstack(null) 但不起作用。我尝试了几种方法来请求关注任何视图,例如搜索按钮或标题或……没有任何效果
    • 我还没有创建一个安卓电视应用,但是如果你试图从一个片段导航到另一个片段,你必须声明一个接口并按照这个文档去做。 developer.android.com/training/basics/fragments/…
    • 是的,我认为演示项目中有类似的东西
    猜你喜欢
    • 2016-10-09
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多