0

我目前正在开发一个 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);
    }
}
4

2 回答 2

0

您需要为启动新 Activity 的意图设置标志。它可以通过intent.setFlags(Intent. ...) 来完成,其中intent 是一个Intent 对象。查看 Android 文档以获取更多详细信息。

于 2012-06-24T18:28:18.517 回答
0

登录onFinish这两个活动,看看哪些活动真正完成......我怀疑对话活动在按下后完成......

你得到一个空白屏幕的事实意味着你的活动还没有完成,它只是列表视图是空的。

所以出现的下一个问题是为什么您的密码列表在onResume. 你真的需要在 中设置适配器onResume吗?请参阅将其移至onCreate..

于 2012-06-24T18:28:30.540 回答