![](/img/trans.png)
[英]how can I pass parameter from Activity to function in Fragment
[英]How to pass an Activity as parameter in function
我想创建一个函数,该函数接收一个Activity作为参数,并将其更改为该Activity。 但是,如果我使用Activity的.class
调用该函数,它将把该函数的参数更改为Class<{Name}Activity>
,因此它将仅接受该活动。
例如。 调用函数:
sendUserToActivity(MainActivity.class);
定义方式:
private void sendUserToActivity(Class<MainActivity> activityClass) {
Intent intent = new Intent(RegisterActivity.this, activityClass);
startActivity(intent);
}
如果我尝试另一个电话:
sendUserToActivity(LoginActivity.class);
出现错误。 由于该函数的参数被设置为Class MainActivity,因此它当然不会接受另一个Activity,那么应该如何定义它才能接受另一个Activity?
也许您可以尝试以下方法:
private void sendUserToActivity(Class<? extends Activity> activityClass) {
Intent intent = new Intent(RegisterActivity.this, activityClass);
startActivity(intent);
}
这样,您将使用泛型,并且扩展活动的每个人都将被接受,因此您的代码可适应您想要的每个活动。
这是一个示例,如何根据您的情况进行:
private void sendUserToActivity(MainActivity activityClass) {
Intent intent = new Intent(activityClass, activityClass.getClass());
startActivity(intent);
}
xyz(XActivity.class);
void xyz(Class<?> cls)
{
Intent intent = new Intent(MainActivity.this, cls);
startActivity(intent);
}
做这份工作。 我现在尝试了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.