Android 应用程序在打开导航抽屉时崩溃…没有显示错误…应用程序只是关闭
导入android.content.Intent 导入android.graphics.Typeface 导入android.support.constraint.ConstraintLayout 导入android.support.v4.widget.DrawerLayout 导入android.support.v7.app.ActionBarDrawerToggle 导入android.support.v7.app.AppActivity 导入android.os.Bundle 导入android.view.MenuItem 导入android.view.view 导入android.widget.Button 导入android.widget.TextView 导入com.google.firebase.auth.FirebaseAuth 导入com.google.firebase.auth.FirebaseUser 公共类AccountActivity扩展AppCompatActivity实现View.OnClickListener{Android 应用程序在打开导航抽屉时崩溃…没有显示错误…应用程序只是关闭,android,android-studio,uinavigationbar,Android,Android Studio,Uinavigationbar,导入android.content.Intent 导入android.graphics.Typeface 导入android.support.constraint.ConstraintLayout 导入android.support.v4.widget.DrawerLayout 导入android.support.v7.app.ActionBarDrawerToggle 导入android.support.v7.app.AppActivity 导入android.os.Bundle 导入andr
package com.example.pratik.womensafety;
}试试看
TextView t;
TextView g;
private Button mLogout;
private FirebaseAuth mAuth;
private DrawerLayout mLayout;
private ActionBarDrawerToggle mToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account);
mAuth = FirebaseAuth.getInstance();
mLayout =(DrawerLayout) findViewById(R.id.drawer);
mToggle = new ActionBarDrawerToggle(this,mLayout,R.string.open,R.string.close);
mLayout.addDrawerListener(mToggle);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if(mAuth.getCurrentUser() == null){
finish();
startActivity(new Intent(this,MainActivity.class));
}
FirebaseUser user =mAuth.getCurrentUser();
t = (TextView) findViewById(R.id.intro);
Typeface myCustomFont= Typeface.createFromAsset(getAssets(), "fonts/Ostrichfontd.otf");
t.setTypeface(myCustomFont);
g= (TextView) findViewById(R.id.welcome);
g.setTypeface(myCustomFont);
g.setText("WELCOME " + user.getEmail());
mLogout = (Button) findViewById(R.id.logoutBtn);
mLogout.setOnClickListener(this);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View v) {
if(v == mLogout){
mAuth.signOut();
finish();
startActivity(new Intent(this,MainActivity.class));
}
}
而不是
startActivity(new Intent(AccountActivity.this,MainActivity.class));
您是在设备中测试还是在模拟器中测试?欢迎使用StackOverflow!请帮助我们,在您的问题中包含更多关于您试图实现什么、问题是什么(包括您得到的logcat输出和异常堆栈跟踪)的详细信息,并查看。另外,请减少您的代码示例,使其仅包含您认为可能存在错误的部分(查看以获取更多帮助)。干杯:)欢迎来到StackOverflow!请解释您的解决方案是如何工作的,而不仅仅是发布代码。谢谢:)嗨,阿巴斯,欢迎你@vatbub是正确的;请解释为什么以及如何解决这个问题。此外,请使用,以便您的答案更具可读性。谢谢欢迎当您将一个活动的意图称为“this”时,您指的是用户现在所在的活动。但最终“this”表示应用程序的默认上下文,即MainActivity。这意味着用户将MainActivity称为AccountActivity,这是错误的。因此,您应该使用“AccountActivity.this”,它将提及AccountActivity的上下文:谢谢
startActivity(new Intent(this,MainActivity.class));