2015-09-23 46 views
1

我有一个开放片段活动的问题,我是新的编程Android设备,但我认为这是非常有趣的,我想为自己做一些应用程序。
我有一个滑动菜单样本,它的一切工作,所以我有三个列表项目(家庭,设置,约)我想打开一个活动,当我按下其中一个这是我的mainActivity,这将是如果有人告诉我该如何完成该代码才能打开其他活动,那该多好啊! 预先感谢您。如何从导航抽屉列表中打开片段

我的MainActivity是:

public class MainActivity extends BaseActivity { 
    FragmentStackManager fm, sliding_menu; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     setUpView(); 
     menuToggeleSetUp(savedInstanceState); 
    } 
    void setUpView() { 
     fm = new FragmentStackManager(this); 
     sliding_menu = new FragmentStackManager(this); 
     drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     fm.addFragment(new MainFragment(), R.id.main_frame, false, FragmentTransaction.TRANSIT_NONE, false); 
     sliding_menu.addFragment(new SlidingMenuFragment(), R.id.slide_fragment, false, FragmentTransaction.TRANSIT_NONE, false); 
    } 
    void menuToggeleSetUp(Bundle savedInstanceState) { 
     mDrawerToggle = new ActionBarDrawerToggle(this, drawer, 
       R.drawable.ic_drawer, // nav menu toggle icon 
       R.string.app_name 
     ) { 
      public void onDrawerClosed(View view) { 
       getSupportActionBar().setTitle(mTitle); 
           invalidateOptionsMenu(); 
      } 
      public void onDrawerOpened(View drawerView) { 
       getSupportActionBar().setTitle(mDrawerTitle); 
           invalidateOptionsMenu(); 
      } 
     }; 
     drawer.setDrawerListener(mDrawerToggle); 

     if (savedInstanceState == null) { 
        } 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
      getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
     super.onPostCreate(savedInstanceState); 
       mDrawerToggle.syncState(); 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 
     if (mDrawerToggle.onOptionsItemSelected(item)) { 
        return true; 
     } 
     if (id == R.id.action_settings) { 
      System.out.println("CLEAR SETTINGS STARTED"); 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 


    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
       mDrawerToggle.onConfigurationChanged(newConfig); 
    } 
} 

感谢你的帮助 BU我想保持这一个,因为汉堡动画,所以我找到了,我完成了我的代码,但得到了一个错误在logcat的 如果有人要帮我,这将是巨大的 因此,我所做的是:

mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 
private class DrawerItemClickListener implements ListView.OnItemClickListener { 
    @Override 
    public void onItemClick(AdapterView parent, View view, int position, long id) { 
     updateDisplay(position); 
    } 
} 
private void updateDisplay(int position) { 
    Fragment fragment = null; 
    switch (position) { 
     case 0: 
      System.out.println("ACTIVITY ONE"); 
      //fragment = new Home_Fragment(); 
      break; 
     case 1: 
      //fragment = new Settings_Fragment(); 
      System.out.println("ACTIVITY TWO"); 
      // startActivity(new Intent(this, Preferences.class)); 

       break; 
      //case 2: 
      // fragment = new TB_Fragment(); 
      //break; 
     default: 
      break; 
    } 
if (fragment != null) { 
     android.app.FragmentManager fragmentManager = getFragmentManager(); 
     fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit(); 

     // update selected item and title, then close the drawer 
     //setTitle(menutitles[position]); 
     drawer.closeDrawer(mDrawerList); 
    } else { 
     // error in creating fragment 
     Log.e("MainActivity", "Error in creating fragment"); 
    } 

的我logc在是

了java.lang.RuntimeException:无法启动活动ComponentInfo {com.intelligent_screen/com.intelligent.screen.View.MainActivity}:显示java.lang.NullPointerException:尝试调用虚拟方法“无效机器人。 widget.ListView.setOnItemClickListener(android.widget.AdapterView $ OnItemClickListener)”上的空对象引用

回答