我目前正在开发一个Android项目,当用户在使用对话框主题的活动上按下后退按钮时,我遇到了问题。
基本上我有一个活动,我们称之为MyActivity,第二个活动使用名为MyDialog的@android:style / Theme.Holo.Dialog。
当屏幕上显示MyDialog活动时,活动对话框会在对话框中按预期启动,但当用户按下后退按钮时,对话框活动会按预期关闭,但启动活动即MyActivity似乎已完成,我只是得到一个空白的屏幕。
我没有为启动活动设置任何标志,所以我不明白它为什么会这样做。下面是我用来启动对话活动的代码。
public OnItemClickListener mListView = new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View view, int position,
long id) {
String selection = ((TextView)view).getText().toString();
StringTokenizer st = new StringTokenizer(selection, "\n");
String name = st.nextToken();
String username = st.nextToken();
Intent intent = new Intent(PasswordList.this, LoginSelectionManager.class);
intent.putExtra("name", name);
intent.putExtra("username", username);
startActivity(intent);
}
};
更新 以下请求是MyActivity的onResume方法的代码
@Override
public void onResume()
{
super.onResume();
populateListArray();
}
所有这一切都是调用一个函数,该函数使用数据库中的数据重新填充ListView数组适配器。以下是此
的代码private void populateListArray()
{
ArrayList<Spanned> passwords = managePasswordList.getPasswordList();
if (passwords != null)
{
passwordArrayAdapter = new ArrayAdapter<Spanned>(this,
android.R.layout.simple_list_item_1, passwords);
setListAdapter(passwordArrayAdapter);
passwordArrayAdapter.setNotifyOnChange(true);
myListView.setTextFilterEnabled(true);
}
}
答案 0 :(得分:0)
您需要设置启动新Activity的intent的标志。它可以通过intent.setFlags(Intent。...)来完成,其中intent是一个Intent对象。查看Android文档以获取更多详细信息。
答案 1 :(得分:0)
将日志放入两个活动的onFinish
中,并查看哪些活动已完成...我怀疑对话活动在按下后完成..
您获得空白屏幕意味着您的活动尚未完成,只是列表视图为空。
因此,出现的下一个问题是onResume
中您的密码列表为空的原因。你真的需要在onResume
中设置适配器吗?请参阅将其移至onCreate
..