单击操作按钮时,Android TV 如何更改 detailsFragment 数据?

标签 android android-tv leanback

我想在单击操作按钮 时更改fullWidthDetailsOverviewRowPresenter 中的描述,该怎么做?我可以更改数据,但是如何刷新 View

enter image description here

例如,当我点击“BUY$9.99”时,红框中的文字会发生变化。

最佳答案

你需要添加这一行:

detailsOverviewRow.setItem(newItem);

在你的 DetailsFragment 中,你可能有这样的东西:


    private DetailsOverviewRow detailsOverviewRow;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        detailsOverviewRow = new DetailsOverviewRow(oldItem);
        SectionDetailsPresenter detailsPresenter =
                new SectionDetailsPresenter(new  SectionDetailsDescriptionPresenter());

        detailsPresenter.setOnActionClickedListener(new OnActionClickedListener() {
            @Override
            public void onActionClicked(Action action) {
                if (action.getId() == ACTION_BUY) {
                    Object newItem = oldItem;
                    newItem.setDescription("new description");
                    detailsOverviewRow.setItem(newItem);
                }
            }
        });
    }

newItem 是您用来创建 DetailsOverviewRow 实例的 oldItem,但描述属性已更改。

一旦你为你的 DetailsOverviewRow 设置了一个新项目,描述展示器(在这个例子中是 SectionDetailsDescriptionPresenter)将被再次调用,它会设置 newItem 您要求的红色框中的描述属性。

关于单击操作按钮时,Android TV 如何更改 detailsFragment 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797728/

相关文章:

java - Android 应用程序弹出错误消息

android - 打包APK后是否可以编辑Androidmanifest.XML?

android - 本地(同一进程)服务是否需要 bindService?

android - 是否可以使用适用于 Android TV 的 Google Maps Geolocation API?

java - 如何在 Android TV 上实现 TvView?

AndroidX 错误 : Both old and new data binding packages are available in dependencies

kotlin - Android TV 中的 ExoPlayer 以纵向模式而不是横向模式播放视频

java - 如何在android电视中使用类似netflix的浏览 fragment 制作侧边菜单?

Android RecyclerView 项目在滚动时展开焦点

android-tv - android leanback 搜索片段