gpt4 book ai didi

Android:在恢复时刷新 ArrayAdapter

转载 作者:搜寻专家 更新时间:2023-11-01 09:10:31 25 4
gpt4 key购买 nike

我正在尝试为我的主页创建刷新功能。我搜索了很多网站,但似乎找不到(对我而言)可访问的例子。我正在从 sQLLite 数据库加载信息。当我使用我的添加 Activity 并返回到 MainScreen Activity 时,我添加的项目不会出现。我如何才能在恢复 Activity 时刷新此数据。

欢迎任何帮助,提前致谢。

      public ListView whiskeylist;
String[] DataArryWhiskey;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// Start db view of whiskey
DBConfig info = new DBConfig(this);

info.open();
DataArryWhiskey = info.getDataInArray();
info.close();


whiskeylist = (ListView) findViewById(R.id.listofWhiskey);
whiskeylist.setOnItemClickListener(this);
whiskeylist.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, DataArryWhiskey));


}// end onCreate

在 Adil 的建议下,我将代码更改为

      public ListView whiskeylist;
String[] DataArryWhiskey;
ListAdapter Adapter;


@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// Start db view of whiskey
DBConfig info = new DBConfig(this);

info.open();
DataArryWhiskey = info.getDataInArray();
info.close();


whiskeylist = (ListView) findViewById(R.id.listofWhiskey);
Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, DataArryWhiskey);
whiskeylist.setAdapter(Adapter);

// End db view of whiskey


}// end onCreate

@Override
public void onResume()
{
super.onResume();
DBConfig info = new DBConfig(this);

info.open();
DataArryWhiskey = info.getDataInArray();
info.close();
Adapter.notifyDataSetChanged(); // refresh adapter
}

但是我在 notifyDataSetChanged 上收到错误“方法 notifyDataSetChanged 未定义类型 ListAdapter”<- 通过将 ListAdapter 更改为 ArrayAdapter 修复了它,但应用程序仍然崩溃。

最佳答案

//在您的 oncreate 方法中进行了更改,见下文

DBConfig info;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// Start db view of whiskey
info = new DBConfig(this);
whiskeylist = (ListView) findViewById(R.id.listofWhiskey);
whiskeylist.setOnItemClickListener(this);
}// end onCreate

下面给出了另一种方法,从 ActivityResult() 调用此方法,但在此之前确保您在另一个 Activity 中添加的字段也保存到数据库中。从 onActivityResult 方法或 onResume() 调用 show Data()

private void showData()
{
info.open();
DataArryWhiskey = info.getDataInArray();
info.close();
whiskeylist.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, DataArryWhiskey));
}

关于Android:在恢复时刷新 ArrayAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8625671/

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