<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:selectAllOnFocus="true"
android:text="请输入要查询的内容"/>
<EditText
android:id="@+id/msg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:selectAllOnFocus="true"
android:text="www.hao123.com"/>
<TextView
android:id="@+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
在MyFocusDemo.java程序中的代码为:
package com.tarena.focus;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;
import android.widget.TextView;
public class MyFocusDemo extends Activity {
private EditText edit = null; //在此组件上设置焦点事件
private TextView txt = null; //用于信息提示
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
this.edit = (EditText) super.findViewById(R.id.edit); //取得组件
this.txt = (TextView) super.findViewById(R.id.txt); //取得组件
this.edit.setOnFocusChangeListener(new OnFocusChangeListenerImpl());
this.edit.setOnClickListener(new OnClickListenerImpl());
}
private class OnClickListenerImpl implements OnClickListener{
public void onClick(View v) {
MyFocusDemo.this.edit.setText(""); //清空文本
}
}
private class OnFocusChangeListenerImpl implements OnFocusChangeListener{
public void onFocusChange(View v, boolean hasFocus) { //表示操作的组件,hasFocus表示是否获得焦点
if(hasFocus){ // 表示已经获得了焦点
MyFocusDemo.this.txt.setText("文本输入组件获得了焦点");
}
else{
if(MyFocusDemo.this.edit.getText().length() > 0){ //表示现在有数据
MyFocusDemo.this.txt.setText("文本输入组件失去焦点,输入内容合法");
}
else{
MyFocusDemo.this.txt.setText("文本输入组件失去焦点,输入内容不能为空");
}
}
}
}
}