gpt4 book ai didi

android - 我可以在另一个 Activity 中更新一个 Activity 中的 ListView 吗?

转载 作者:太空狗 更新时间:2023-10-29 13:42:43 27 4
gpt4 key购买 nike

我目前有一个包含 2 个选项卡的选项卡布局,一个选项卡带有 ListView ,另一个选项卡带有 make strings 选项,因此我可以将它们添加到 ListView 中。这两个选项卡都有自己的 Activity ,因为这使代码更加结构化,我以后就不必重复了。

假设我在提供我创建字符串的选项卡中,然后我按下更新列表按钮,如何在没有 startActivity() 的情况下更新 ListView ?如果我使用 startActivity(),它会启动 List.java,而不是在 ListView 选项卡中显示列表,而是全屏显示,这违背了选项卡 View 的目的。换句话说,startActivity() 从列表的选项卡 View 中窃取焦点,并将其全屏发送。

感谢您的宝贵时间。

编辑:我想更新我的 ListView 选项卡中的 Activity ,而不启动进入全屏的新 Activity ,并且不更新选项卡中的 Activity 。

最佳答案

一种解决方案是将您的数据模型与您的 View ( Activity )分开,这通常是一种很好的做法,但在这种情况下,允许您的两个选项卡与同一模型进行交互。

您可以在 Application 类中提供对数据模型的访问。然后,当在您的列表 Activity 上调用 onResume 时,您可以根据当前数据更新 View 。

编辑:

public class MyApplication extends Application {
private List<MyObject> myData;

public List<MyObject> getMyData() {
return myData;
}

public void setMyData(List<MyObject> mydata) {
this.myData = myData;
}
}

在您的 list 中,您需要添加应用程序标签以指定它应使用 MyApplication 作为应用程序类。

然后,在您的 Activity 中:

   public void onResume() {
MyApplication app = (MyApplication) getApplication();
List<MyData> data = app.getMyData();
// update my view with the data
}

关于android - 我可以在另一个 Activity 中更新一个 Activity 中的 ListView 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com