有没有最佳方法将IntDef通过Intent发送?
提示:如果您只将其作为int发送,则会失去类型检查,而这正是具有intdef的主要目标。
有没有最佳方法将IntDef通过Intent发送?
提示:如果您只将其作为int发送,则会失去类型检查,而这正是具有intdef的主要目标。
你的IntDef在运行时不可用。解决方法是将Intent的生成封装在接收Intent的Activity中。
public class MyActivity extends Activity {
private static final String KEY_NAVIGATION_MODE = "navigation_mode";
private @NavigationMode int mNavigationMode;
public static Intent getStartIntent(Context context, @NavigationMode String navigationMode) {
Intent intent = new Intent(context, MyActivity.class);
intent.putExtra(KEY_NAVIGATION_MODE, navigationMode);
return intent;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//noinspection WrongConstant Safe because we saved it in #getStartIntent
mNavigationMode = getIntent().getIntExtra(KEY_NAVIGATION_MODE, NAVIGATION_MODE_YOUR_DEFAULT);
}
}