我正在构建一个包含导航抽屉的应用程序,所以在使用操作栏时,我尝试了多种方法都没有解决这个错误。使用的主题是
这是运行时错误E/AndroidRuntime:致命异常:main流程:com.vrushali.hospital,PID:32621java.lang.RuntimeException:无法启动活动组件信息{com.vrushali.houspital.com/vrushali.Houspital.MainActivity3}:java.lang.NullPointerException:尝试调用虚拟方法null上的"voidandroidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence("对象引用….
**My code of .java file**
public class MainActivity3 extends AppCompatActivity {
private DrawerLayout drawerLayout;
private Toolbar toolbar;
private NavigationView navigationView;
private TextView nav_fullname,nav_email,nav_contact,nav_type;
private DatabaseReference userRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout = findViewById(R.id.drawer_layout);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Patient Portal");
navigationView = findViewById(R.id.navigation_view);
ActionBarDrawerToggle toggle=new ActionBarDrawerToggle(MainActivity3.this,drawerLayout,
toolbar,R.string.navigation_drawer_open,R.string.navigation_drawer_closed);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
nav_fullname =navigationView.getHeaderView(0).findViewById(R.id.nav_fullname);
nav_email =navigationView.getHeaderView(0).findViewById(R.id.nav_email);
nav_contact =navigationView.getHeaderView(0).findViewById(R.id.nav_contact);
nav_type =navigationView.getHeaderView(0).findViewById(R.id.nav_type);
userRef= FirebaseDatabase.getInstance().getReference().child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid());
userRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()) {
String name= snapshot.child("name").getValue().toString();
nav_fullname.setText(name);
String email= snapshot.child("email").getValue().toString();
nav_fullname.setText(email);
String phonenumber= snapshot.child("phonenumber").getValue().toString();
nav_fullname.setText(phonenumber);
String type= snapshot.child("type").getValue().toString();
nav_fullname.setText(type);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
请帮助解决这个错误该错误与主题有关,但我没有得到它
您的操作栏为null,因此您试图在null对象上设置Title((。
-
您使用的主题是什么?
"<style name="AppTheme.NoActionBar">"
? -
setSupportActionBar(工具栏(;在这里放一个断点,工具栏是空的吗?