首页 > 解决方案 > 如何将注销从菜单更改为普通按钮?

问题描述

我是编码新手,我对来自 youtube 的代码有一个问题,它是 FireBase 的登录和升级教程。注销按钮设置为 ActionBar 上的菜单,我不知道如何在 TextView 上设置 onClickListener 来做同样的事情。

菜单

我想要 ClickListener 的 TextView

菜单代码:

@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);
}

如果您向我展示代码并向我解释它,那将是惊人的。我只问。先感谢您。

标签: javaandroidandroid-studioonclicklistener

解决方案


只需添加Button到您的布局 xml 并给它一个id.
例子:

    <Button  
        android:id="@+id/sign_out_button"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="Sign Out" />  

然后在你ActivityonCreate()方法之后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();
               }
            }  
        });    

推荐阅读