我正在进行活动的登录页面,其中我有用户名和密码作为2个EditText框。 当焦点从用户名更改为密码框时,我正在尝试显示Toast消息: - 如果在用户名框中输入的文本中包含空格。 - 如果没有空格,则没有Toast显示。
答案 0 :(得分:0)
EditText txtEdit = (EditText) findViewById(R.id.edittxt);
txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
if (txtEdit.getText().Contains(" ")) {
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
}
});
答案 1 :(得分:0)
您可以使用View.OnFocusChangeListener。
代码示例:
et_uname.setOnFocusChangeListener(new View.OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus == false && et_uname.getText().toString() != null && et_uname.getText().toString().contains(" ")){
Toast.makeText(getActivity(), "Alert", Toast.LENGTH_LONG).show();
}
}
};
这是针对片段完成的。如果在Activity内,那么你可以替换
getActivity()
与
<activityname>.this
这里hasFocus = true表示et_uname目前有焦点,hasFocus = false表示没有焦点。由于您需要在焦点丢失时提醒用户,因此必须为hasFOcus == false添加条件。
答案 2 :(得分:0)
您应该为您的编辑实施 OnFocusChangeListener ,请参阅以下代码:
EditText myEdit = (EditText) findViewById(R.id.edit1);
myEdit .setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
// Do the check for white spaces and display the Toast
}
}
});