簡體   English   中英

如何從“選項卡式”活動下的自行創建的幻燈片菜單(在導航抽屜活動中默認找到的一個菜單)中調用活動

[英]how to call an activity from a self created slide menu (one which found in default in navigation drawer activity) under Tabbed activity

我在選項卡式活動下創建了一個幻燈片菜單(默認位於導航抽屜活動中)。 我可以從幻燈片菜單選項中調用片段,如下面的代碼所示。 我的問題是,如何調用活動而不是片段。 誰可以幫我這個事? 這是代碼

public class MainActivity extends AppCompatActivity

{
    DrawerLayout drawerLayout;
    NavigationView navigationView;
    android.support.v4.app.FragmentManager FM;
    FragmentTransaction FT;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
        navigationView = (NavigationView) findViewById(R.id.shitstuff);

        FM = getSupportFragmentManager();
        FT = FM.beginTransaction();
        FT.replace(R.id.containerView, new TabFragment()).commit();

        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

            @Override
            public boolean onNavigationItemSelected(MenuItem item) {
                // Handle navigation view item clicks here.
                int id = item.getItemId();

                if (id == R.id.nav_history) {
                    FragmentTransaction fragmentTransaction = FM.beginTransaction();
                    fragmentTransaction.replace(R.id.containerView, new HistoryFragment()).commit();

                }
                else if (id == R.id.nav_gallery) {
                    FragmentTransaction fragmentTransaction = FM.beginTransaction();
                    fragmentTransaction.replace(R.id.containerView, new GalaryFragment()).commit();

                }

                DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
                drawer.closeDrawer(GravityCompat.START);
                return true;
            }
        });
        android.support.v7.widget.Toolbar toolbar =(Toolbar)findViewById(R.id.toolbar);
        ActionBarDrawerToggle toggle=new ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.app_name,R.string.app_name);
        drawerLayout.addDrawerListener(toggle);
        toggle.syncState();
    }


}

只需調用活動而不是片段即可。 如果您是Android的新手,則下面的代碼“ this”是指當前活動,HistoryAcitvity是將要開始的新活動。 在編寫此代碼之前,請創建活動,然后將該活動添加到清單(如果您在android studio中執行,則會自動執行)。

if (id == R.id.nav_history) { Intent historyActivity = new Intent(this ,HistoryAcitivity.class); startActivity(historyActivity);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM