我的应用程序以这种方式工作:有一个带有不同按钮的菜单(“类别1”,“类别2”等),所有这些按钮打开名为“ResultListViewActivity”的相同活动,该活动显示包含来自的内容的ListView数据库,取决于您之前单击的按钮。
因此,有一个活动显示其内容不同的列表视图。我正在尝试为此列表视图添加“过滤模式”。我有一个“过滤器按钮”打开一个alertdialog窗口,这个警告对话框里面有一个微调器。我正在研究在这个微调器中显示不同内容的方法,然后为每个项目分配不同的侦听器。因此,例如,如果在主菜单上单击“类别1”按钮,它会将变量“filterVariable”设置为值1,如果单击“类别2”,它将为值2,依此类推。 /> 我用switch属性编写了这个,但它使用指针null异常崩溃我的应用程序。这是我的代码:
OnClickListener filter_listener = new OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater li = LayoutInflater.from(context);
View dialogView = li.inflate(R.layout.alertdialog_filter, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
Bundle bundle = getIntent().getExtras();
int filterVariable = bundle.getInt("filterVariable");
switch (filterVariable) {
// if you click on button "category 1" in main menu
case 1:
ArrayAdapter<?> adapter = ArrayAdapter.createFromResource(ResultListViewActivity.this, R.array.spinner_category1, R.id.alertdialog_spinner);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
break;
// if you click on button "category 2" in main menu
case 12:
ArrayAdapter<?> adapter1 = ArrayAdapter.createFromResource(ResultListViewActivity.this, R.array.spinner_category2, R.id.alertdialog_spinner);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter1);
break;
}
alertDialogBuilder.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialogBuilder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Lorsque l'on cliquera sur annuler on quittera
// l'application
finish();
}
});
// set alertdialog_filter.xml to alertdialog builder
alertDialogBuilder.setView(dialogView);
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
}; }
它真的让我发疯,我设法在弹出菜单的情况下这样做(我的代码在这里为那些可能感兴趣的人:How to set specific listeners for varying popup menus ? (code inside))但是现在它不再是弹出菜单了,而是旋转器,一切都不同,我为弹出菜单所做的是没用的。