我想在单击操作按钮
时更改fullWidthDetailsOverviewRowPresenter
中的描述,该怎么做?我可以更改数据,但是如何刷新 View
?
例如,当我点击“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/