在這裏我做了一個DrawerBase活動讓所有我的Activity都有相同的DrawerLayout,但是當我這樣做的時候,發生了一些無聊的事情,當我開始一個新的Intent來啓動新的Activity時沒有關閉抽屜。DrawerLayout沒有關閉抽屜
這是我的代碼,希望有人能幫助我。
package cn.rezero.utool;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import cn.rezero.utool.Note.NotelistActivity;
/**
* Created by ReZero on 2017/4/5.
*/
public class DrawerBase extends AppCompatActivity {
protected DrawerLayout mDrawerLayout;
protected NavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setCheckedItem(R.id.nav_moment);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.nav_lbs:
startActivity(new Intent(DrawerBase.this, BmapActivity.class));
mDrawerLayout.closeDrawers();
break;
case R.id.nav_note:
startActivity(new Intent(DrawerBase.this, NotelistActivity.class));
mDrawerLayout.closeDrawers();
break;
case R.id.nav_web:
startActivity(new Intent(DrawerBase.this, BrowserActivity.class));
mDrawerLayout.closeDrawers();
default:
}
return true;
}
});
}
}
this a test demo :
public class MainActivity extends DrawerBase {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
對不起,但它沒有工作,更重要的是,意圖似乎沒有開始一項新的活動。 – Rezero
@Rezero嘗試更新回答 –
非常感謝您的有用信息。 – Rezero