Android 我可以从开关盒调用活动类吗?
我有一段代码,其中打开了五个片段类,但我有一个案例可以在我的项目中调用activity类 我可以将案例3更改为调用活动类而不是片段类吗Android 我可以从开关盒调用活动类吗?,android,android-layout,android-intent,android-activity,android-fragments,Android,Android Layout,Android Intent,Android Activity,Android Fragments,我有一段代码,其中打开了五个片段类,但我有一个案例可以在我的项目中调用activity类 我可以将案例3更改为调用活动类而不是片段类吗 private void displayView(int position) { // update the main content by replacing fragments Fragment fragment = null; switch (position) { case 0: fragment = ne
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new FindPeopleFragment();
break;
case 2:
fragment = new PhotosFragment();
break;
case 3:
fragment = new CommunityFragment();
break;
case 4:
fragment = new PagesFragment();
break;
case 5:
fragment = new WhatsHotFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
如果您的问题是是否可以调用新的MyActivity,那么答案是否定的。只有Android框架可以实例化一个活动,并且它是基于调用上下文中使用的意图来执行的。startActivity。如果您的意思是调用正在启动新活动,那么小的答案是肯定的,您可以这样做 但是如果你想实例化的话,那么;不,你不能那样做
switch (position) {
case 0:
*******WRONG WAY*******
myAct = new MyActivity(); // Where MyActivity is extended from Activity
break;
case 1:
*******RIGHT WAY*******
Intent intent=new Intent(MyCurrentActivity.this, MyNewActivity.class);
startActivity(intent);
break;
}
为什么不呢?你试过了吗?什么不起作用?我无法编写此代码的逻辑。我希望在调用案例3时,它应该调用活动类