`

Android学习之焦点事件

阅读更多

MyFocusDemo.java:

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.setOnClickListener(new OnClickListenerImpl()); // 设置单击事件
		this.edit.setOnFocusChangeListener(new OnFocusChangeListenerImpl());
	}

	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("文本输入组件失去焦点,输入内容不能为空。");
				}
			}
		}

	}
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<EditText
		android:id="@+id/edit"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="请输入查询内容"/>
	<EditText
		android:id="@+id/msg"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="www.mldnjava.cn"/>
	<TextView 
		android:id="@+id/txt"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"/>
</LinearLayout>

 

 

 

分享到:
评论

相关推荐

    android事件分发机制学习代码二

    本篇将基于"android事件分发机制学习代码二"的示例,深入解析Android事件分发机制的工作原理。 首先,Android事件主要分为触摸事件(如点击、滑动等)和焦点事件(如键盘输入)。当我们点击屏幕时,系统会产生一个...

    android 学习书籍大全

    在Android学习的道路上,拥有一套全面且深入的书籍资源是非常重要的。"android 学习书籍大全"这个压缩包很可能包含了从入门到进阶的各种Android开发教程,虽然可能有些资料的时间较早,但Android的基本原理和技术...

    android7.1打开wifi热点 Demo

    在Android系统中,开启Wi-Fi热点功能是一种常见的网络共享方式,允许其他设备通过Wi-Fi连接到你的手机,共享其移动数据。在Android 7.1版本中,这一功能的实现涉及到了系统的API调用和权限管理。下面我们将深入探讨...

    Android之Wifi学习

    Android之Wi-Fi学习涵盖了从基本的Wi-Fi API使用到更高级的Wi-Fi热点管理、Wi-Fi扫描与连接策略等多个方面。下面,我们将深入探讨这些知识点。 1. **Wi-Fi API入门**: - `WifiManager`:这是Android系统提供的...

    Android应用源码之Android 开启指定名称和密码的 Wifi热点 demo.zip

    通过这个源码示例,开发者不仅可以学习到如何开启WiFi热点,还能了解Android权限管理、系统服务交互、状态监听等相关知识,进一步提升Android应用开发能力。在实际项目中,可以根据具体需求进行功能扩展,例如添加...

    android中模拟焦点移动

    在Android开发中,焦点移动是用户界面交互的重要组成部分,它涉及到控件间的切换,比如在按钮、文本框、列表视图等之间的导航。当用户使用物理键盘或触摸屏幕时,焦点会从一个可聚焦的视图移动到另一个,通常伴随着...

    Android事件处理机制详解及源码

    Android事件处理机制是Android...总之,Android事件处理机制是开发者必须掌握的核心技能之一,它涉及到用户交互、事件分发和事件消费等多个环节。通过深入学习和实践,我们可以创建更加响应灵敏、用户友好的应用程序。

    android 学习心得

    `Android-Manifest.xml` 文件是每个Android应用的核心配置文件之一,用于向Android系统声明应用的各种组件和权限需求等。其中 `&lt;activity&gt;` 标签用于定义应用程序的一个或多个Activity组件。 - **`android:...

    Android-AndroidTV上使用的RecyclerView和焦点框架

    3. 触发事件:处理焦点变化事件,可以通过重写`onFocusChange()`方法,当焦点改变时执行相应操作,如播放视频预览或显示详细信息。 四、优化性能 1. DiffUtil:当数据集发生变化时,使用DiffUtil计算出差异,以减少...

    android焦点滑动

    在Android开发中,"android焦点滑动"通常指的是在用户操作界面时,控件之间的焦点转移和滑动浏览效果。这种效果是通过Android系统提供的触摸事件处理和布局管理来实现的,尤其在列表视图(ListView)、滚动视图...

    Android 连接wifi和创建WIFI热点 demo

    在Android平台上,连接WiFi和创建WiFi热点是两个...开发者可以通过阅读和学习这个项目,了解如何在Android应用中实现连接WiFi和创建WiFi热点的功能,这对于开发涉及网络共享或者需要自定义网络连接的应用非常有帮助。

    android学习日记-2 ASM android底层

    【标题】:“Android学习日记-2 ASM android底层” 在Android开发中,深入理解系统的底层运作是提升技术能力的重要环节。ASM是一个强大的字节码操控和分析框架,它允许动态生成类或者增强已有类的功能,而无需知道...

    android基础学习

    【Android基础学习】 Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑,但现在也广泛扩展到智能电视、汽车娱乐系统等领域。Google于2007年11月5日正式推出Android,它最初由...

    Android高级应用源码-TV端GridView焦点移动事件处理.zip

    此资源包"Android高级应用源码-TV端GridView焦点移动事件处理.zip"主要关注的是如何在电视设备上处理GridView的焦点移动事件,这对于构建针对大屏幕设备的用户界面至关重要。GridView是Android中的一个视图组件,它...

    Android之Wifi学习教程

    ### Android之Wifi学习教程 #### 一、引言 随着移动互联网的发展,Wi-Fi作为最常见的无线网络连接方式之一,在Android应用开发中占据了重要的位置。掌握Android Wi-Fi开发不仅能够提升应用的功能性和用户体验,还...

    2013.12.13 ——— android开发实例之焦点图效果

    在Android开发中,焦点图效果通常指的是在一个布局中展示多张图片或内容,并且随着用户的操作(如滑动)能够自动或手动切换焦点,形成一种动态的视觉展示效果。这样的功能常见于应用的启动页、轮播广告或者产品展示...

    android处理键盘事件之物理按键(屏蔽后退键)

    在Android开发中,处理键盘事件是一项重要的任务,特别是在设计用户交互界面时。本文将深入探讨如何处理物理按键事件,特别是如何屏蔽系统自带的后退键。Android设备通常配备多个物理按键,包括返回键,这对于应用的...

    Android代码-TV端GridView焦点移动事件处理.rar

    本压缩包“Android代码-TV端GridView焦点移动事件处理.rar”提供了一种处理TV端GridView焦点移动事件的方法。 首先,我们需要理解在TV应用中,GridView的焦点移动与手机或平板上的操作有所不同。在TV上,用户通过...

    Android应用源码之Android 开启指定名称和密码的 Wifi热点 demo-IT计算机-毕业设计.zip

    通过分析这个"Android应用源码之Android 开启指定名称和密码的 WiFi热点 demo",我们可以了解到Android平台上进行网络编程的基本技巧,这对于任何Android开发者,特别是正在进行毕业设计或论文研究的学生来说,都是...

    Android4.0开发学习之ImageButton

    在Android应用开发中,`ImageButton`是一个非常重要的控件,它继承自`ImageView`,但增加了点击事件的支持,使得开发者可以实现类似按钮的功能,同时展示图片。本篇将深入探讨在Android 4.0(API Level 14)环境下...

Global site tag (gtag.js) - Google Analytics