View获取焦点

titleBtn.setFocusable(true);
titleBtn.setFocusableInTouchMode(true);
titleBtn.requestFocus();

需要set 然后request才行。

发现一个小的bug,

通过此方法给一个button初始获取焦点以后,当焦点在别的View上的时候,

你通过点击切换到button 上的话,则onClick时间不会被调用,而是调用了

onFocusChanged方法。

@Override
public void onFocusChange(View v, boolean hasFocus) {
super.onFocusChange(v,hasFocus);
if (v == emailAddress && hasFocus == true
&& emailAddress.getText().toString().indexOf("@") < 0) {
emailAddress.setText("");
emailAddress.setTextColor(Color.BLACK);
} else {
if (emailAddress.getText().toString().length() == 0) {
emailAddress.setText(R.string.email);
emailAddress.setTextColor(Color.GRAY);
}
}

}

public void onClick(View v) {
super.onClick(v);

}

你可能感兴趣的:(view)