是否可以启动随机活动,例如单击一个按钮?
我已经看到了一些带开关/外壳的解决方案,但我真的不想做这样的事情:
case 1: startintent1;
break;
case 2: startintent2;
break;
...
case 100: startintent100;
break;
是否可以存储用于在数组中打开活动的代码,然后使用Random
从该数组中选择一个项目?
提前致谢!
答案 0 :(得分:1)
我不知道使用开关盒有什么问题,但我想你可以把你的活动放在一个数组中,然后用一个0到n的随机整数来选择一个。
答案 1 :(得分:1)
Class c = Class.forName("classname");
Method m = c.getMethod("startintent"+i);
m.invoke(this);
这将按名称调用。如果所有功能都被一致命名。然后使用随机附加一个数字。
答案 2 :(得分:1)
您可以创建这样的类数组:
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);
答案 3 :(得分:0)
试试这个:
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.
}
});