2017-04-25 97 views
1

在MainActivity中,我有以下啓動片段的方法。如何在調用碎片的方法中調用MainActivity?

@Override 
public void onNavigationItemSelected(MenuItem item) { 
    int id = item.id; 
    Fragment fragmentToShow = null; 
    if (id != 1){ 
     fragmentToShow = MoviesFragment.newIstance(item); 
    } 
    if (fragmentToShow != null){ 
     launchFragment(fragmentToShow, null); 
    } 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(Gravity.LEFT); 
} 

如果單擊id = 1的元素,應用程序必須打開主活動,但它不是片段:我該怎麼做?

謝謝你們的幫助,我是誰努力學習初學者:它肯定會很容易解決這個問題,我

+0

梅比這將有助於 http://stackoverflow.com/questions/12637693/android-calling-activity-from-fragment – Hani

+0

如果(id == 1){Intent intent = new Intent(getcontext(),MainActivity.class); startactivity(intent);} –

回答

0

這種方法「onNavigationItemSelected」正在從那裏叫什麼名字?

據我所知,這個方法來自一個片段,你希望回到MainActivity,對吧?

當你說「MainActivity」意味着它是啓動活動,那麼你可以使用onBackPressed去前一個活動。

getActivity()。onBackPressed();

如果這不是問題,請補充更多細節。這將是有益的:)

+0

這個問題已經解決了,感謝相同。 – GiGa

0

這就是你所需要的

@Override 
public void onNavigationItemSelected(MenuItem item) { 
    int id = item.id; 

    if (id == 1) { 
     Intent intent = new Intent(getcontext(), MainActivity.class); 
     startactivity(intent‌​); 
     return; 
    } 

    Fragment fragmentToShow = null; 
    if (id != 1){ 
     fragmentToShow = MoviesFragment.newIstance(item); 
    } 
    if (fragmentToShow != null){ 
     launchFragment(fragmentToShow, null); 
    } 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(Gravity.LEFT); 
} 
+0

startActivity(new Intent(getApplicationContext(),MainActivity.class))是完美的:我學到了一些東西,我忘記了另一個。非常感謝。 – GiGa

+0

@GiGa請接受對它有用的回答 – eugeneek

+0

我沒有必要的知名度(15分) – GiGa

相關問題