0

这就是我所拥有的:

第 1 步。有一个ListView显示用户可以评价的项目。它是一个Fragment. 任何已经被评级的项目都会被加粗。

Step 2. 如果用户点击 unrated item,它会将当前列表保留在 backstack 中并打开 new Fragment;在新的Fragment他们现在可以评价项目。

这就是我需要的:

第 3 步。一旦他们点击返回按钮,我希望列表项现在变为粗体以反映更改。

如果这不是 a Fragment,我认为startActivityForResult()这就是答案;但不确定如何使用当前 ( Fragment) 设置执行此操作?

补充:有ListView一个adapterArrayList<Review>当然,每一行在Review对象中都有属性。一个属性是一个名为的婴儿车wasRated,要么是0要么1;如果此参数为 1,则表示用户对该项目进行了评分,列表行加粗以反映这一点。这就是我想要动态的。

4

1 回答 1

1

Android 开发者页面上 FragmentsCreating event callbacks to the activity部分表明,创建从 a到 holding 的回调相对容易。FragmentActivity

更一般地,您可以ActivityFragment. 假设:

  1. 你有一个MyTopNotchActivity启动两个片段的活动
  2. Activity 中有一个needToReRender()触发重新渲染的方法

在片段 2 中:

MyTopNotchActivity activity = (MyTopNotchActivity) getActivity().findViewById(R.id.list);
activity.needToReRender();

然后 Activity 可以告诉Fragment1 重新呈现列表。显然,您可以改进needToReRender以接收有关需要重新渲染的确切信息。

警告:如果片段是由不同的活动创建的,这将不起作用。

于 2013-06-11T18:30:14.990 回答