我创建了一个BaseActivity类来启动不同活动的菜单,工具栏等。使用BaseActivity可以根据工具栏和菜单的需要工作,但不会显示我想要添加的任何其他内容 - 比如我的textView。你能帮帮忙吗?
这是我的BaseActivity:
public abstract class BaseActivity extends AppCompatActivity
{
private DrawerLayout mDrawerLayout ;
private ActionBarDrawerToggle mToggle ;
private NavigationView mNavView ;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResourceId());
}
protected abstract int getLayoutResourceId();
public void initToolbar(int toolbarId)
{
Toolbar myToolbar = (Toolbar) findViewById(toolbarId);
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
assert myToolbar != null;
}
public void initMenu() {
// Stuff in here
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId() ;
if(mToggle.onOptionsItemSelected(item)) {
return true ;
}
return super.onOptionsItemSelected(item);
}
而实际的Activity扩展了BaseActivity:
public class SaunaLight extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initToolbar(R.id.custombar);
initMenu();
TextView sauna = (TextView) findViewById(R.id.sauna);
}
@Override
protected int getLayoutResourceId() {
return R.layout.activity_sauna_light;
}
}
所以目前我的TextView桑拿没有显示 - 我只是得到一个白色的屏幕。
有一个非常愚蠢的错误。原来,我的自定义操作栏有一个奇怪的高度,它覆盖整个布局。修好了!抱歉浪费你的时间!