这就是我所拥有的:
步骤1.有ListView
显示用户可以评分的项目。这是Fragment
。任何已评级的项目都会变为粗体。
步骤2.如果用户点击未评级的项目,它会将当前列表保留在后台并打开新的Fragment
;在新的Fragment
上,他们现在可以评价项目。
这就是我需要的:
步骤3.一旦他们点击按钮,我希望列表项现在变为粗体以反映更改。
如果这不是Fragment
,我认为startActivityForResult()
就是答案;但不确定如何使用当前(Fragment
)设置执行此操作?
补充:ListView
的{{1}} adapter
。当然,每一行都有ArrayList<Review>
对象中的属性。一个属性是名为Review
的婴儿车,可以是wasRated
或0
;如果此参数为1,则表示用户对项目进行了评级,列表行以粗体显示以反映此情况。这就是我想要的动态。
答案 0 :(得分:1)
Android developer page on Fragments的Creating event callbacks to the activity
部分表明,创建从Fragment
到持有Activity
的回调相对容易。
更一般地说,您可以从Activity
确定Fragment
。假设:
MyTopNotchActivity
,可以启动这两个片段needToReRender()
在片段2中:
MyTopNotchActivity activity = (MyTopNotchActivity) getActivity().findViewById(R.id.list);
activity.needToReRender();
然后,活动可以告诉Fragment
1重新呈现列表。显然,您可以改进needToReRender
以获得有关确切需要重新渲染的信息。
警告:如果片段是由不同的活动创建的,那么这将不起作用。