java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case

现在方法中传入的menuList的数目是不确定的,每个menuList.get(i),都对应一个runnableList.get(i)。现在需要根据menuList.size()动态改变case的数目,求思路

public boolean Confim(final Activity act, String title, final String[] menuList, final List<Runnable> runList) {

        runnableList = runList;

        AlertDialog.Builder builder = new AlertDialog.Builder(act);

        builder.setTitle(title);

        builder.setItems(menuList, new DialogInterface.OnClickListener() {

            @Override

            public void onClick(DialogInterface dialogInterface, int which) {


                switch (which) {

                    case 0:

                        if (runnableList.get(0) == null) return;

                        runnableList.get(0).run();

                        break;

                    case 1:

                        if (runnableList.get(1) == null) return;

                        runnableList.get(1).run();

                        break;

                    case 2:

                        if (runnableList.get(2) == null) return;

                        runnableList.get(2).run();

                        break;

                }

            }

        });

    

        builder.show();


        return false;

    }


扬帆大鱼
浏览 1187回答 2
2回答

慕森王

你这段代码直接把which当参数传入就好了啊,干嘛用switch
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java