以下是我的按钮的代码摘录。
login = (Button) findViewById(R.id.login_btn_splash);
login.setTypeface(english);
login.setOnClickListener(new SplashLoginListener());
login.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("touch", "touch");
return false;
}
});
以下是SplashLoginListener
内部类的代码。
private class SplashLoginListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Log.d("login", "login clicked");
String uname = username.getText().toString().trim();
String pword = Utils.Encryption.hashPassword(password.getText()
.toString().trim());
UserLoginTask task = new UserLoginTask();
task.execute(uname, pword);
}
}
调用onTouch
方法。 onClick
没有。什么可能是错的?
答案 0 :(得分:2)
创建您的Listener
,如下所示......
private OnClickListener splashLoginListener = new View.OnClickListener {
@Override
public void onClick(View v) {
Log.d("login", "login clicked");
String uname = username.getText().toString().trim();
String pword = Utils.Encryption.hashPassword(password.getText()
.toString().trim());
UserLoginTask task = new UserLoginTask();
task.execute(uname, pword);
}
}
然后按如下方式调用Listener
...
login.setOnClickListener(splashLoginListener);