Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7678623
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: Android平台

2015-11-19 16:51:00

?焦点事件是指针对于一个组件的状态的监听,例如,现在有两个文本输入组件(editA和editB),当用户选中editA组件准备输入数据的时候,对于editA就表示获得了焦点,如图6-11所示,而当用户现在离开了editA而要输入editB时,则editA将丢失焦点,同时对应的editB将获得焦点。

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout                 ?    定义线型布局管理器
  3.     xmlns:android=""
  4.     android:orientation="vertical"         ?    所有组件垂直摆放
  5.     android:layout_width="fill_parent“    ?    布局管理器宽度为屏幕宽度
  6.     android:layout_height="fill_parent">    ?    布局管理器高度为屏幕高度
  7.     
  8.         android:id="@+id/edit"     ?    组件ID,程序中使用
  9.         android:layout_width="fill_parent”    ?    组件宽度为屏幕宽度
  10.         android:layout_height="wrap_content“     ?    组件高度为文字高度
  11.         android:text=“请输入查询内容” />    ?    默认文字
  12.     
  13.         android:id="@+id/msg"     ?    组件ID,程序中使用
  14.         android:layout_width="fill_parent”    ?    组件宽度为屏幕宽度
  15.         android:layout_height="wrap_content“     ?    组件高度为文字高度
  16.         android:text="www.mldnjava.cn" />    ?    默认文字
  17.     
  18.         android:id="@+id/txt"         ?    组件ID,程序中使用
  19.         android:layout_width="fill_parent“    ?    组件宽度为屏幕宽度
  20.         android:layout_height="wrap_content" />    ?    组件高度为文字高度
  21. </LinearLayout>

点击(此处)折叠或打开

  1. package org.lxh.demo;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.view.View.OnFocusChangeListener;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. public class MyFocusDemo extends Activity {
  10.     private EditText edit = null;                                    // 定义文本输入框
  11.     private TextView txt = null;                                    // 定义文本组件
  12.     @Override
  13.     public void onCreate(Bundle savedInstanceState) {
  14.         super.onCreate(savedInstanceState);                        // 父类onCreate()
  15.         super.setContentView(R.layout.main);                        // 定义布局
  16.         this.edit = (EditText) super.findViewById(R.id.edit);        // 取得组件
  17.         this.txt = (TextView) super.findViewById(R.id.txt);        // 取得组件
  18.         this.edit.setOnFocusChangeListener(new OnFocusChangeListenerImpl());// 焦点事件
  19.         this.edit.setOnClickListener(new OnClickListenerImpl()) ;    // 设置单击事件
  20.     }
  21.     private class OnClickListenerImpl implements OnClickListener {    // 单击事件
  22.         @Override
  23.         public void onClick(View view) {
  24.             MyFocusDemo.this.edit.setText("") ;                    // 清空文本
  25.         }
  26.     }
  27.     private class OnFocusChangeListenerImpl implements OnFocusChangeListener {
  28.         @Override
  29.         public void onFocusChange(View v, boolean hasFocus) {
  30.             if (v.getId() == MyFocusDemo.this.edit.getId()) {        // 判断触发事件的组件
  31.                 if (hasFocus) {
  32.                     MyFocusDemo.this.txt.setText("文本输入组件获得焦点。");// 设置显示文字
  33.                 } else {
  34.                     if(MyFocusDemo.this.edit.getText().length() > 0) {    // 判断输入数据长度
  35.                         MyFocusDemo.this.txt.setText("文本输入组件失去焦点,输入内容合法。");
  36.                     } else {
  37.                     MyFocusDemo.this.txt.setText("文本输入组件失去焦点,输入内容不能为空。");
  38.                     }
  39.                 }
  40.             }
  41.         }
  42.     }
  43. }
020606_焦点事件.ppt

阅读(1444) | 评论(0) | 转发(1) |
0

上一篇:焦点事件

下一篇:键盘事件

给主人留下些什么吧!~~