Android中没有关闭“快速操作视图”对话框

时间:2015-03-14 11:32:18

标签: android

我在我的应用程序中使用了Quick Action View。但是,当我按下特定项目时,我想解雇对话但它不起作用。这是我的代码请检查并告诉我这个问题

custom_action_bar = (ImageView) mCustomView
            .findViewById(R.id.imageButton);
    custom_action_bar.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {
            /*
             * Toast.makeText(getApplicationContext(),
             * "Welcome to settings", Toast.LENGTH_LONG).show();
             */
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                    getApplicationContext(),
                    android.R.layout.simple_list_item_1,
                    android.R.id.text1, new String[] { "One", "Two",
                            "Three" });

            // create the quick action view, passing the view anchor
            qa = QuickActionView.Builder(view);

            // set the adapter
            qa.setAdapter(adapter);

            // set the number of columns ( setting -1 for auto )
            qa.setNumColumns(1);

            qa.setOnClickListener(new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {

                    Log.e(TAG, "qa.setOnClickListener calleddddddddd");
                    dialog1 = dialog;
                    dialog1.dismiss();

                    switch (which) {
                    case 0:

                        break;

                    case 1:

                        break;
                    case 2:

                        break;
                    default:
                        break;
                    }
                    // qa.cancel();
                }

            });

            // finally show the view
            qa.show();

        }
    });



    mActionBar.setCustomView(mCustomView);
    mActionBar.setDisplayShowCustomEnabled(true);

请告诉我这里的问题

2 个答案:

答案 0 :(得分:0)

全局声明您的进度对话框

ProgressDialog dialog;

答案 1 :(得分:0)

所以,从发布的片段中,我认为问题在于使用Application上下文(getApplicationContext())。 你可以在Adapter初始化时更改getApplicationContext(),view.getContext(),让我知道它是否有效。