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

Android TV how to change detailsFragment data when I click action button?

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

例如,当我点击"BUY.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 描述属性你要的红框。