E.A*_*kio 0 android android-activity
我想创建一个接收 Activity 作为参数的函数,并且通过它,它将更改为该 Activity。但是,如果我使用.classActivity 的 来调用该函数,则会将该函数的参数更改为 a Class<{Name}Activity>,因此它只会接受该活动。
例如。调用函数:
sendUserToActivity(MainActivity.class);
Run Code Online (Sandbox Code Playgroud)
它是如何定义的:
private void sendUserToActivity(Class<MainActivity> activityClass) {
Intent intent = new Intent(RegisterActivity.this, activityClass);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试另一个电话:
sendUserToActivity(LoginActivity.class);
Run Code Online (Sandbox Code Playgroud)
它得到一个错误。既然该函数的参数被设置为Class MainActivity,它当然不会接受另一个Activity,那么应该如何定义它来接受另一个Activity呢?
也许你可以尝试这个:
private void sendUserToActivity(Class<? extends Activity> activityClass) {
Intent intent = new Intent(RegisterActivity.this, activityClass);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
这样,您就可以使用泛型,并且扩展活动的每个人都将被接受,因此您的代码可以适应您想要的每个活动。
| 归档时间: |
|
| 查看次数: |
1186 次 |
| 最近记录: |