我已完成 Firebase 身份验证,该身份验证可登录用户并将其导航至 HomeActivity。这是可行的,但是当我尝试从主 Activity 移动到下一个 Activity 时,它会将我导航回主 Activity (在本例中为登录)。
public class HomeActivity extends AppCompatActivity implements View.OnClickListener {
private Button btnSearch;
private TextView welcomeLbl;
private Button btnSignout;
FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
btnSearch = (Button) findViewById(R.id.btnSearch);
welcomeLbl = (TextView) findViewById(R.id.welcomeLbl);
btnSignout = (Button) findViewById(R.id.btnSignout) ;
btnSearch.setOnClickListener(this);
btnSignout.setOnClickListener(this);
mAuth = FirebaseAuth.getInstance();
if (mAuth.getCurrentUser() == null) {
Intent signInIntent = new Intent(HomeActivity.this, MainActivity.class);
startActivity(signInIntent);
finish();
} else {
welcomeLbl.setText("You are logged in!");
}
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnSearch:
Intent intent = new Intent(HomeActivity.this, SearchActivity.class);
startActivity(intent);
case R.id.btnSignout:
mAuth.signOut();
Intent signInIntent = new Intent(HomeActivity.this, MainActivity.class);
startActivity(signInIntent);
finish();
}
}
}
“我的注销”按钮的情况有效,因为它会按预期注销并导航回“登录” Activity ,但“搜索”按钮也会执行相同的操作,而它应该导航到“搜索 Activity ”。
这是我的搜索 Activity :
public class SearchActivity extends AppCompatActivity {
private EditText searchField;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
searchField = (EditText) findViewById(R.id.searchField);
}
}
最佳答案
尝试在 switch options 语句中添加中断,如果不添加中断,代码将继续以 fall through 的形式执行。 ,当您希望一个选项执行另一选项的操作时。
case R.id.btnSearch:
Intent intent = new Intent(HomeActivity.this, SearchActivity.class);
startActivity(intent);
break;
case R.id.btnSignout:
mAuth.signOut();
Intent signInIntent = new Intent(HomeActivity.this, MainActivity.class);
startActivity(signInIntent);
finish();
break;
关于java - firebase 在家庭 Activity 内切换 Activity 时导航到登录 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49709027/