我想在点击操作fullWidthDetailsOverviewRowPresenter
时更改button
中的说明,该怎么办?我可以更改数据,但是如何刷新view
?
例如,当我点击"购买9.99美元"时,红色框中的文字将会改变。
答案 0 :(得分:1)
您需要添加以下行:
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
是您用来创建oldItem
实例的DetailsOverviewRow
,但更改了描述属性。
为DetailsOverviewRow
设置新项目后,将再次调用描述演示者(此示例中为SectionDetailsDescriptionPresenter
),并将newItem
描述属性设置为红色你要求的盒子。