Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SetOnClickListener和View-无法解析符号_Java_Android - Fatal编程技术网

Java SetOnClickListener和View-无法解析符号

Java SetOnClickListener和View-无法解析符号,java,android,Java,Android,我已经在java类上导入了android.view.view,但是下面的代码仍然没有解析SetOnClickListener和view。不确定这是否是链接的,但我使用了另一种onClick和View方法,正如在第二段代码中观察到的那样 final ImageButton btnTest =(ImageButton) findViewById(R.id.passVisibilityStatus); btnTest.setOnClickListener(new View.OnClickLis

我已经在java类上导入了android.view.view,但是下面的代码仍然没有解析SetOnClickListener和view。不确定这是否是链接的,但我使用了另一种onClick和View方法,正如在第二段代码中观察到的那样

    final ImageButton btnTest =(ImageButton) findViewById(R.id.passVisibilityStatus);
btnTest.setOnClickListener(new View.OnClickListener()
{
    public void changePassVisibility (View view)
    btnTest.setSelected(!btnTest.isPressed());

    if (btnTest.isPressed()) {
        btnTest.setImageResource(R.drawable.PassVisible);
    } else {
        btnTest.setImageResource(R.drawable.PassInvisible);
    }
}}
以前的代码,以防出现问题:

public void loginButtonClicked(View view) {
    String email = loginEmail.getText().toString().trim();
    String pass = loginPass.getText().toString().trim();

    if (!TextUtils.isEmpty(email) && !TextUtils.isEmpty(pass)) {
        mAuth.signInWithEmailAndPassword(email, pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    checkUserExists();
                }
            }
        });
    }
}

public void checkUserExists() {
    final String user_id = mAuth.getCurrentUser().getUid();
    mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.hasChild(user_id)) {
                Intent loginIntent = new Intent(LoginActivity.this, MainActivity.class);
                startActivity(loginIntent);
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}
public void登录按钮点击(查看){
字符串email=loginEmail.getText().toString().trim();
String pass=loginPass.getText().toString().trim();
如果(!TextUtils.isEmpty(电子邮件)和&!TextUtils.isEmpty(通过)){
mAuth.signInWithEmailAndPassword(email,pass).addOnCompleteListener(新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
checkUserExists();
}
}
});
}
}
公共void checkUserExists(){
最后一个字符串user_id=mAuth.getCurrentUser().getUid();
mDatabase.addListenerForSingleValueEvent(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
if(dataSnapshot.hasChild(用户id)){
Intent loginIntent=新的Intent(LoginActivity.this,MainActivity.class);
startActivity(登录);
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
}

您需要覆盖OnClickListener中的OnClick方法

您的新代码应为:

btnTest.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // your desired code goes here.
    }
});
编辑,解决方案

btnTest.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        public void changePassVisibility (View view)
btnTest.setSelected(!btnTest.isPressed());

if (btnTest.isPressed()) {
    btnTest.setImageResource(R.drawable.PassVisible);
} else {
    btnTest.setImageResource(R.drawable.PassInvisible);
}
    }
});

您需要实现onClick()方法


您必须这样设置侦听器

final ImageButton btnTest =(ImageButton)findViewById(R.id.passVisibilityStatus);

       btnTest.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

        btnTest.setSelected(!btnTest.isPressed());

    if (btnTest.isPressed()) {
        btnTest.setImageResource(R.drawable.PassVisible);
    } else {
        btnTest.setImageResource(R.drawable.PassInvisible);
    }
            }
        });

你必须按照FlyingNades所说的去做,但我认为你真正的问题是你没有在他正确的地方写这段代码,确保你在OnCreate()方法中调用了“setOnClickListener”,这应该可以解决你的问题。

你没有在匿名onClickListenerAn错误中重写onClick方法当我这样做时,会弹出“此处不允许批注”。@JoshuaLee请发布您更新的代码并告诉您在哪一行出现此错误。
final ImageButton btnTest=(ImageButton)findViewById(R.id.passVisibilityStatus);btnTest.setOnClickListener(new View.OnClickListener()){@Override public void changePassVisibility(视图视图)btnTest.setSelected(!btnTest.isPressed());if(btnTest.isPressed()){btnTest.setImageResource(R.drawable.PassVisible);}else{btnTest.setImageResource(R.drawable.PassVisible);}
上面代码的@Override行有错误。您在我的答案中没有遵循我的代码。您需要重写OnClick方法并将代码放入其中。我已使用新代码编辑了我的答案与上一个答案相同,此处不允许出现“错误”注释“当我加上@Override@JoshuaLee您是否使用ButterKnife或任何其他类似的库?我不确定,但我也怀疑类似的库可能是这样的,然后发布完整的java代码,然后只有您得到解决方案它仍然不起作用,setOnClickListener和View仍然未解决,并且最后一行有一个“意外标记”。@JoshuaLee您必须发布完整的活动代码。
final ImageButton btnTest =(ImageButton)findViewById(R.id.passVisibilityStatus);

       btnTest.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

        btnTest.setSelected(!btnTest.isPressed());

    if (btnTest.isPressed()) {
        btnTest.setImageResource(R.drawable.PassVisible);
    } else {
        btnTest.setImageResource(R.drawable.PassInvisible);
    }
            }
        });