java - 如何将注销从菜单更改为普通按钮?
问题描述
我是编码新手,我对来自 youtube 的代码有一个问题,它是 FireBase 的登录和升级教程。注销按钮设置为 ActionBar 上的菜单,我不知道如何在 TextView 上设置 onClickListener 来做同样的事情。
菜单代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_log, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_log){
firebaseAuth.signOut();
checkUserStatus();
}
return super.onOptionsItemSelected(item);
}
如果您向我展示代码并向我解释它,那将是惊人的。我只问。先感谢您。
解决方案
只需添加Button
到您的布局 xml 并给它一个id
.
例子:
<Button
android:id="@+id/sign_out_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign Out" />
然后在你Activity
的onCreate()
方法之后setContentView()
,
找到按钮并设置一个点击监听器。
Button signOutButton = (Button) findViewById(R.id.sign_out_button);
signOutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (firebaseAuth.getCurrentUser() != null) {
firebaseAuth.signOut();
checkUserStatus();
Toast.makeText(getApplicationContext(), "User Signed Out", Toast.LENGTH_LONG).show();
}
}
});
推荐阅读
- java - React Native:是否可以在应用重新加载时保留本机 Java 变量值?
- cassandra - Cassandra:你如何在结果中包含查询?
- php - SilverStripe 4 - 大型资产下载耗尽了 HTTPStreamResponse.php 中的 memory_limit
- xamarin - 如何正确实现 xamarin 表单的位置更改侦听器?
- python - 如何计算神经网络输入的输出梯度?
- arduino - avr 中的软件序列号
- javascript - 如果所有值都等于 0,则删除数组中的系列
- flutter - 如何从一个屏幕转到另一个屏幕从堆栈中清除所有先前的屏幕?
- swift - 防止在 CoreData 中保存重复值
- excel - 遇到问题将数据从多个工作表复制/粘贴到外部工作簿。使用 For Each 循环