我在我的应用程序中使用了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);
请告诉我这里的问题
答案 0 :(得分:0)
全局声明您的进度对话框
ProgressDialog dialog;
答案 1 :(得分:0)
所以,从发布的片段中,我认为问题在于使用Application上下文(getApplicationContext())。 你可以在Adapter初始化时更改getApplicationContext(),view.getContext(),让我知道它是否有效。