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

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

例如,当我单击“ BUY $ 9.99”时,红色框中的文本将更改。

最佳答案

您需要添加以下行:

detailsOverviewRow.setItem(newItem);

在您的DetailsFragment中,您可能会有类似以下内容:


    private DetailsOverviewRow detailsOverviewRow;

    @Override
    公共无效onCreate(捆绑保存的InstanceState){
        ...
        detailsOverviewRow =新的DetailsOverviewRow(oldItem);
        SectionDetailsPresenter detailsPresenter =
                new SectionDetailsPresenter(new SectionDetailsDescriptionPresenter());

        detailsPresenter.setOnActionClickedListener(new OnActionClickedListener(){
            @Override
            public void onActionClicked(Action action){
                如果(action.getId()== ACTION_BUY){
                    对象newItem = oldItem;
                    newItem.setDescription(“新描述”);
                    detailsOverviewRow.setItem(newItem);
                }
            }
        });
    }



newItem是用于创建oldItem实例的DetailsOverviewRow,但是description属性已更改。

DetailsOverviewRow设置新项目后,将再次调用描述演示者(此示例中为SectionDetailsDescriptionPresenter),它将在您要的红色框中设置newItem描述属性。

07-24 09:18