【发布时间】:2019-03-09 19:09:55
【问题描述】:
谁能帮我解决这个错误
这是 MainActivity.java 文件:
public class MainActivity extends AppCompatActivity {
private FirebaseAuth mAuth;
private Toolbar mToolbar;
private ViewPager myViewPager;
private TabLayout myTabLayout;
private TabsPagerAdapter mTabsPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
myViewPager = (ViewPager)findViewById(R.id.main_tabs_pager);
mTabsPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager());
myViewPager.setAdapter(mTabsPagerAdapter);
myTabLayout = (TabLayout)findViewById(R.id.main_tabs);
myTabLayout.setupWithViewPager(myViewPager);
mToolbar = (Toolbar)findViewById(R.id.main_app_bar);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("myChat");
}
@Override
protected void onStart() {
super.onStart();
FirebaseUser currentUser = mAuth.getCurrentUser();
if (currentUser == null){
LogOutUser();
}
}
private void LogOutUser() {
Intent startPageIntent = new Intent(MainActivity.this, StartPageActivity.class);
startPageIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(startPageIntent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item){
super.onOptionsItemSelected(item);
if(item.getItemId()== R.id.mainlogout_button){
mAuth.signOut();
LogOutUser();
}
return true;
}
}
这是错误:
原因:java.lang.NullPointerException:尝试调用虚拟 方法'无效 android.support.v7.app.ActionBar.setTitle(java.lang.CharSequence)' 开启 空对象引用 yassine.com.mychat.MainActivity.onCreate(MainActivity.java:40)
【问题讨论】:
-
检查
mToolbar !=null然后设置mToolbar.setTitle() -
你也可以发布你的样式和activity_main.xml