String c="MainActivty.class";
Intent ints =new Intent(getApplication(),c);
startActivity(ints);
如何通过单击按钮来执行此操作,即将c指定为Intent,还是有其他方式可以执行此操作?
问题是我已将c设置为intent但它无效。
答案 0 :(得分:1)
我理解你的问题,很多人都给你了 - 点:
假设我在这里有一个班级:com.mydomain.myproject.activity.MyActivity
字符串必须类似于:"com.mydomain.myproject.activity.MyActivity"
然后开始意图:
Class newclass = null;
//add this outside of OnCreate
final Activity thisActivity = this;
String activityString="com.mydomain.myproject.activity.MyActivity";
try {
newclass = Class.forName(activityString);
} catch (ClassNotFoundException c) {
c.printStackTrace();
}
if(newclasss != null) {
nextIntent = new Intent(thisActivity, newclass);
startActivity(nextIntent);
} else {
Toast.makeText(getApplicationContext(),"new class null",Toast.LENGTH_SHORT).show();
}
答案 1 :(得分:1)
没有Constructor Intent(Context context,String s)。因此,您无法传递String来创建Intent。您只能使用String来设置该Intent的Action。您尝试使用的构造函数将第二个参数视为Class cls而不是String。当您使用Intent(getContext()," MainActivity.class")时,编译器不会创建一个String,而是创建一个Class实例。
https://developer.android.com/reference/android/content/Intent.html