![](/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.