Android studio 如何使我的文本视图可单击以显示警报诊断日志框?

Android studio 如何使我的文本视图可单击以显示警报诊断日志框?,android-studio,Android Studio,我有以下代码,但“重置密码”一词不可点击。即使在我向xml添加了一些属性之后,我仍然无法单击它。我想我们应该用按钮而不是文本视图来点击?我已将变量链接到xml文件,并为其设置了相关的TextView public class LoginActivity extends AppCompatActivity { private EditText email; private EditText password; private TextView reset_passwo

我有以下代码,但“重置密码”一词不可点击。即使在我向xml添加了一些属性之后,我仍然无法单击它。我想我们应该用按钮而不是文本视图来点击?我已将变量链接到xml文件,并为其设置了相关的TextView

 public class LoginActivity extends AppCompatActivity  {

    private EditText email;
    private EditText password;
    private TextView reset_password;
    private Button login;
    private Button register;

    private FirebaseAuth auth;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        email = findViewById(R.id.email);
        password = findViewById(R.id.password);
        login = findViewById(R.id.login);
        register = findViewById(R.id.register);
        reset_password = findViewById(R.id.reset_password);

        auth = FirebaseAuth.getInstance();

        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String txt_email = email.getText().toString();
                String txt_password = password.getText().toString();
                loginUser(txt_email, txt_password);
            }
        });

        register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(LoginActivity.this, RegisterActivity.class));

            }
        });

    }

    private void loginUser(String email, String password) {

        auth.signInWithEmailAndPassword(email, password).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
            @Override
            public void onSuccess(AuthResult authResult) {
                Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_SHORT).show();
                startActivity(new Intent(LoginActivity.this, MainActivity.class));
                finish();
            }
        });

        reset_password.setOnClickListener(new View.OnClickListener() {


       public void onClick(View v) {


                    final EditText resetMail = new EditText(v.getContext());
                    AlertDialog.Builder passwordResetDialog = new AlertDialog.Builder(v.getContext());
                    passwordResetDialog.setTitle("Reset Password ?");
                    passwordResetDialog.setMessage("Enter Your Email To Received Reset Link");
                    passwordResetDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // extract the email and send reset link
                            String mail = resetMail.getText().toString().trim();
                            auth.sendPasswordResetEmail(mail).addOnSuccessListener(new OnSuccessListener<Void>() {
                                @Override
                                public void onSuccess(Void aVoid) {
                                    Toast.makeText(LoginActivity.this, "Reset Link Sent To Your Email", Toast.LENGTH_SHORT).show();
                                }
                            }).addOnFailureListener(new OnFailureListener() {
                                @Override
                                public void onFailure(@NonNull Exception e) {
                                    Toast.makeText(LoginActivity.this, "Error! Reset Link is Not Sent" + e.getMessage(), Toast.LENGTH_SHORT).show();
                                }
                            });
                        }
                    });

                    passwordResetDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // close the dialog
                        }
                    });

                    passwordResetDialog.create().show();
                }
            });

        }
    }
公共类LoginActivity扩展了AppCompatActivity{
私人文本电子邮件;
私有文本密码;
私有文本视图重置密码;
私人按钮登录;
专用按钮寄存器;
私有FirebaseAuth-auth;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u登录);
email=findviewbyd(R.id.email);
password=findviewbyd(R.id.password);
login=findviewbyd(R.id.login);
寄存器=findViewById(R.id.register);
重置密码=findviewbyd(R.id.reset\u密码);
auth=FirebaseAuth.getInstance();
login.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
String txt_email=email.getText().toString();
字符串txt_password=password.getText().toString();
登录用户(txt_电子邮件、txt_密码);
}
});
register.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
startActivity(新意图(LoginActivity.this、RegisterActivity.class));
}
});
}
私有void登录用户(字符串电子邮件、字符串密码){
auth.signiWithEmailandPassword(电子邮件,密码).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(AuthResult AuthResult){
Toast.makeText(LoginActivity.this,“登录成功”,Toast.LENGTH_SHORT.show();
startActivity(新意图(LoginActivity.this、MainActivity.class));
完成();
}
});
reset_password.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
final EditText resetMail=新的EditText(v.getContext());
AlertDialog.Builder passwordResetDialog=新建AlertDialog.Builder(v.getContext());
setTitle(“重置密码?”);
passwordResetDialog.setMessage(“输入您的电子邮件以接收重置链接”);
passwordResetDialog.setPositiveButton(“是”,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
//提取电子邮件并发送重置链接
String mail=resetMail.getText().toString().trim();
auth.sendPasswordResetEmail(mail).addOnSuccessListener(新OnSuccessListener(){
@凌驾
成功时公开作废(作废避免){
Toast.makeText(LoginActivity.this,“重置发送到电子邮件的链接”,Toast.LENGTH_SHORT.show();
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(LoginActivity.this,“错误!未发送重置链接”+e.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}
});
passwordResetDialog.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
//关闭对话框
}
});
passwordResetDialog.create().show();
}
});
}
}
这是我的xml代码:

<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Forgot Password"
        android:layout_below="@id/password"
        android:id="@+id/reset_password"/>


有什么问题吗?textview根本不会单击。。。。即使我添加了clickable=true属性,etcI也认为只有一个按钮是可点击的?我认为textview不是按钮,不会点击。您可以点击textview