android - java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case 的个数?
本文介绍了android - 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;
}
解决方案
switch case
是编译时就指定的,不能动态改变。
另外你这个需求不能这么实现吗?
...
if (runnableList.get(which) == null) return;
runnableList.get(which).run();
...
这篇关于android - java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case 的个数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文