Sie müssen BaseActivity mit Schublade erstellen und alle Aktivität Kind wie dieses
public class Home extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}
Jedesmal, wenn setContentView(), die BaseActivity
public class BaseActivity extends AppCompatActivity {
@Override
public void setContentView(int layoutResID) {
super.setContentView(R.layout.activity_base);
// Base activity view with navigation drawer
mainContener = (RelativeLayout) findViewById(R.id.mainContener);
// MainCOntener where you want to add your child activity view
// with toolbar and all
getLayoutInflater().inflate(layoutResID, mainLayout);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setOnClickListener(this);
findViewById(R.id.linearLayout_home).setOnClickListener(this);
...
...
getDrawerData();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_base);
}
}
Und Untergeordnetes Objekt erstellen Aktivität verlängern sein; Anruf von Kind-Aktivität, die sehen (oder Layout wie R.layout.home) aufzublasen ist in baseactivity contener sein wird (wie R.layout.base_activity) 's Viewgroup
Für weitere Informationen können Sie Google-IO App-Code verwenden sie verwenden auch BaseActivity Konzept https://github.com/google/iosched
dann haben Sie Schublade in jeder Aktivität gehören mit ihren clicklisteners –
, warum Sie selbst nicht verwenden wollen Fragment, wenn es eine sehr flexible Umsetzung für diese Art der Sache stellt und auch Art und Weise zu tun empfohlen . –