如何在选项卡式Android应用程序上刷新ListView?

时间:2011-07-19 14:39:17

标签: android android-listview android-tabhost

我有一个android选项卡式应用程序,在我的一个标签内是一个活动,其中包含最喜欢的项目的ListView 用户可以添加或删除活动中的项目。
问题是,当用户回来时我无法重新加载列表。 onResume没有被调用,所以我不知道什么时候应该重新加载列表。

编辑

这就是我开始后续活动的方式。

Intent i = new Intent(this, CargasCadastro.class);
// Create the view using Group's LocalActivityManager
Window win = CargasGroup.group.getLocalActivityManager().startActivity("CargasCadastro",i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
View guialayout = win.getDecorView();
// Again, replace the view
CargasGroup.group.replaceView(guialayout);

onTabChanged不会工作,因为包含列表的活动不是TabActivity,而我的问题是从后续活动返回,而不是并行活动。感谢您的建议。

4 个答案:

答案 0 :(得分:0)

在android中有多种方法可以实现Tab Activity。

虽然如果您有不同的活动来处理不同的标签,您应该收到onResume,您可以使用onTabChanged()方法跟踪用户选择的标签并相应地执行任务。

答案 1 :(得分:0)

在包含listview的活动中覆盖onTabChanged()并调用adapter.notifydatasetchanged()listView1.setAdapter(adapter)以刷新列表视图。

答案 2 :(得分:0)

我开始工作的方式。
在自身内部创建了一个静态公共实例(几乎像一个单例)。

public static MyActivity instance;
...
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    instance = this;
...

和一个重新加载数据并刷新列表视图的公共方法。然后,down-the-flux活动访问此实例并调用该方法。
它很脏,但很有效。

只要它得到投票,就会接受我自己的回答(希望有更清洁的解决方案)。

答案 3 :(得分:0)

我建议您将当前活动更改为活动组