我已经完成了我的Firebase身份验证,它登录用户并将其导航到HomeActivity。这是可行的,但当我试图从主activity移动到下一个时,它会将我导航回MainActivity(在本例中是Sign in)。
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语句中添加断点,如果不添加断点,当您希望一个选项执行另一个选项的操作时,代码将继续执行。
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;
我有一个应用程序,我正在编写,它已经包含了很多代码,我决定我想添加一个导航抽屉到主要的activity工具栏,但我不知道如何做,不创建一个新的导航抽屉项目,复制我的整个项目到它,这似乎是很多工作,有没有一个教程添加导航抽屉到一个现有的项目?
在阅读了关于片段和活动的文档和讨论后,我想我已经把情况弄清楚了。 活动应该为用户提供一个屏幕,用户可以在其中工作。导航到其他屏幕通常会破坏活动。 片段应该提供很少或单个功能组件,可以在活动中再次使用。片段的内容应该相互独立地工作,因此可以在多个活动中重用。 虽然这一切似乎都有道理,但有一件事我无法理解: 如果您创建一个新的Android应用程序,并选择创建Android导航抽屉应用程序的选项,为什
我一直在努力弄清楚为什么会出现错误:java.lang.NullPointerException:试图对空对象引用调用虚拟方法“java.lang.String java.lang.object.ToString()” 以下是错误的完整描述: 2021-03-15 14:15:49.906 244 47-24447/com.goldencrestit.Quicky2 D/AndroidRuntim
我将IntelliJ Idea从12.0.4升级到了12.10。 现在我的Android项目中的所有模块都给出了错误: 错误:未找到默认activity 我回到12.0.4,一切又正常了。 有什么想法吗?我认为这可能是一个问题与一个缺失的插件。由于插件没有安装,它无法找到默认的activity。另一件事可能是本地配置,但我怀疑。我删除了配置文件夹来验证,但这并没有改变任何东西。
问题内容: 我刚刚将应用重构为框架库和应用,但是现在当我尝试在模拟器中启动该应用时,我得到了以下错误堆栈跟踪: 通常,这意味着清单文件在某种程度上是错误的,但是我已经仔细检查了所有我能想到的内容。 这是我的活动课: 如你所见,清单中正确列出了它: 我不知道如何解决此问题,将不胜感激。我在SO上扫描了许多类似的问题,却没有看到这种特殊的行为。 更多信息: 我已经检查了生成的APK,并且该类在clas
4.3.Activity Activity 即设备在某一时刻所显示的界面。一个程序通常含有多个界面,用户可在其间切换。对用户而言,这就是程序的外观部分。 我通常喜欢拿网页来类比Activity:就像一个网站含有多个网页,Android程序也含有多个界面(Activity);网站有主页,Android程序有主界面(main Activity)——也就是启动程序时显示的第一个界面;为了方便用户在多个页