我想實現一個材質導航抽屜。像這樣https://github.com/kanytu/android-material-drawer-template。在導航抽屜中導航錯誤?
我有兩個問題。
1.我在main Activity
中聲明onNavigationDrawerItemSelected
方法中的所有意圖。如果我的主要活動是針對另一項活動,如FeedActivity
。那麼我是否必須在我的feedActivity
中聲明不同的onNavigationDrawerItemSelected
方法。
2.當我通過onNavigationDrawerItemSelected
方法MainActivity
意圖。該應用程序無法正常工作。
public class MainActivity extends ActionBarActivity implements NavigationDrawerCallbacks{
private Toolbar mToolbar;
private NavigationDrawerFragment mNavigationDrawerFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
mNavigationDrawerFragment = (NavigationDrawerFragment) getFragmentManager().findFragmentById(R.id.fragment_drawer);
mNavigationDrawerFragment.setup(R.id.fragment_drawer, (DrawerLayout) findViewById(R.id.drawer), mToolbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public void onNavigationDrawerItemSelected(int position) {
if (position == 1){
startActivity(new Intent(this, FeedListActivity.class));
}else if (position == 2){
startActivity(new Intent(this, VideoActivity.class));
}
}
}
EDIT 。如果我在上述方法中通過這下面的代碼。該應用程序不會FeedActivity。它再次打開主要活動。當我按列表中的第一項。
if (position == 0){
startActivity(new Intent(this, MainActivity.class));
如果問題不清楚,對不起。 在此先感謝。
在問題#2中,請說明您的應用程序無法正常工作,並且應用程序的工作方式不同......當您使用底部的代碼進行替換時。你是否收到錯誤(什麼錯誤),是否錯誤的活動開始? etc ... – NameSpace 2014-11-08 15:05:04
如果您要在多個活動中使用導航抽屜,那麼您必須在其中的每個方法中實施方法。例如,在這種情況下,最好使用片段而不是各種活動。我不明白第二個問題。請澄清 – mobilepotato7 2014-11-08 15:11:53
@Namespace查看編輯... – user3467240 2014-11-08 15:12:18