如果单击按钮,是否可以开始随机活动?
我已经看到了一些带有开关/案例的解决方案,但我真的不想做这样的事情:
case 1: startintent1;
break;
case 2: startintent2;
break;
...
case 100: startintent100;
break;
是否可以将用于打开活动的代码存储在数组中,然后从该数组中选择一个项目Random
?
提前致谢!
如果单击按钮,是否可以开始随机活动?
我已经看到了一些带有开关/案例的解决方案,但我真的不想做这样的事情:
case 1: startintent1;
break;
case 2: startintent2;
break;
...
case 100: startintent100;
break;
是否可以将用于打开活动的代码存储在数组中,然后从该数组中选择一个项目Random
?
提前致谢!
Class c = Class.forName("classname");
Method m = c.getMethod("startintent"+i);
m.invoke(this);
这将按名称调用。如果您所有的功能都一致命名。然后使用随机附加一个数字。
您可以像这样创建一个类数组:
Class<?>[] classes = new Class<?>[] { MainActivity.class, DatabaseActivity.class };
或使用 ArrayList:
ArrayList<Class<?>> classes = new ArrayList<Class<?>>();
classes.add(MainActivity.class);
然后使用您的随机数作为索引。
Intent i = new Intent(getActivity(), classes[randomNumber];
or
Intent i = new Intent(getActivity(), classes.get(randomNumber);
startActivity(i);
我不知道使用 switch case 有什么问题,但我想你可以将你的活动放在一个数组中,然后使用一个随机整数 0 到 n 来选择一个。
尝试这个 :
x.setOnClickListener(new OnClickListener() {
private static final Random random = new Random();
@Override
public void onClick(View v) {
//TODO --place your activity in an array list here
int randomMsgIndex = random.nextInt(yourarraylist.length - 1);
//TODO-start that activity using intents.
}
});