我的例子:
public static final String EXTRA_TARGET_FRAGMENT = "fragment_to_show";
public static void show(Activity pActivity,
Class<? extends Fragment> fragment) {
Intent intent = new Intent(pActivity, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(EXTRA_TARGET_FRAGMENT, fragment);
pActivity.startActivity(intent);
}
@SuppressWarnings("unchecked")
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
mUpcomingTarget = (Class<Fragment>) intent
.getSerializableExtra(EXTRA_TARGET_FRAGMENT);
}
Run Code Online (Sandbox Code Playgroud)
mUpcomingTarget --> null,我不明白问题是什么。
的文档putExtra(String, Serializable)说
该名称必须包含一个包前缀,例如应用程序 com.android.contacts 将使用诸如“com.android.contacts.ShowAll”之类的名称。
更改您EXTRA_TARGET_FRAGMENT以包前缀开头。
| 归档时间: |
|
| 查看次数: |
2378 次 |
| 最近记录: |