Spinner不会显示项目(切换情况:一个且只有一个微调器的不同项目列表 - 内部代码)

时间:2013-03-25 08:40:45

标签: android spinner android-spinner

我的应用程序以这种方式工作:有一个带有不同按钮的菜单(“类别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))但是现在它不再是弹出菜单了,而是旋转器,一切都不同,我为弹出菜单所做的是没用的。

0 个答案:

没有答案