我正在重新发布这个问题:
我希望我的应用程序在警报对话框中按“确定”时重新启动。但是当我按下按钮时,我得到“使用完成操作”屏幕,我如何启动我的应用程序而不必去“完成操作..”?
这是重新启动应用程序的正确方法吗?
PS我需要重新启动应用程序,因为最初当应用程序启动时列表是从本地数据库显示的,然后在从服务器获取新数据并更新本地数据库后,我无法显示更新的列表。它在重新启动应用程序后工作。
调用startActivity的代码:
Toast.makeText(mContext, "阅读完毕", Toast.LENGTH_SHORT).show();
AlertDialog.Builder clickAlert = new AlertDialog.Builder(mContext);
clickAlert.setMessage("Database has been updated, please restart application to load new data. ");
clickAlert.setPositiveButton("Restart", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent i = new Intent("android.intent.action.MAIN");
mContext.startActivity(i);
}
});
clickAlert.create().show();
我有一个从字符串适配器填充的 listFragment,这个字符串是从从服务器返回数据的方法填充的。我需要重新填充此列表。代码:
// 获取包含 storelist 的游标
Cursor curStoreList = mDbHelper.getStoreList();
String[] StoreList = new String[curStoreList.getCount()];
int i = 0;
// Store returned items in StoreList[]
while (curStoreList.moveToNext()) {
String storeName = curStoreList.getString(0);
StoreList[i] = storeName;
i++;
}
// Create an adapter with list of stores and populate the list with
// values
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, StoreList);
setListAdapter(adapter);