我已经在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) {
}
});
}
答案 0 :(得分:1)
您需要覆盖 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);
}
}
});
答案 1 :(得分:0)
您需要实现onClick()方法
btnTest.setOnClickListener(new View.OnClickListener()
{
//add this method
@Override
public void onClick(View v) {
// do something when the button is clicked
}
}
答案 2 :(得分:0)
你必须像这样设置监听器
scanner.nextLine()
答案 3 :(得分:0)