我想从这样的字符串数组中启动活动
ListView lv;
String st[] = { "MyActivity1.class", "MyActivity2.class" };
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(MainActivity.this, st[i].getClass());
startActivity(intent);
}
});
但它不起作用...
getClass()
您正在对字符串数组的元素(即字符串)调用该方法。所以你总能上课String
。要在 Java 中通过名称获取类,您可以使用例如
forName()
类方法Class
:如果我没记错的话,只有传递给方法的类的名称
forName()
必须是完全限定的,从应用程序包层次结构的顶部开始。例如:而且
.class
您不需要编写扩展。