菜单

时间:2016-11-07 22:08:23

标签: java android menu android-alertdialog

在我出现AlertDialog几秒钟后,我的模拟器出现意外崩溃,然后才能选择一个选项。你对这个问题有什么看法吗?

我有一个包含多个对象的ListView。在LongClick上会出现小菜单。通过选择“删除”选项,我想要显示一个AlertDialog并询问用户是否确定他正在做什么。

 @Override
    public boolean onContextItemSelected(MenuItem item) {
        final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
        switch (item.getItemId()) {
            case R.id.rename:
                // rename the entry in the list
                return true;
            case R.id.delete:
                // confirmation popup before deleting
                new AlertDialog.Builder(getActivity()).setTitle(R.string.app_name).setMessage("Are you sure you want to delete this package?").setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                       // Really delete the package
                    }
                }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        // Do nothing
                    }
                }).show();
                return true;
            default:
                return super.onContextItemSelected(item);
        }
    }

在崩溃之前,我在日志中收到此消息:

  

EmuGL:警告:错误的通用指针0x7f64d97be818

2 个答案:

答案 0 :(得分:0)

使用这样可以解决崩溃问题。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == R.id.delete) {

        return true;
    }
    return super.onOptionsItemSelected(item);
}

答案 1 :(得分:0)

显然问题是AVD 本身!我使用的是破碎的系统映像。再下载它修复了问题。