android 焦点事件
16lz
2021-01-25
今天介绍下android中的焦点事件,之前在项目有用到过。这块不是很难,大家跟着过一遍吧,用到的时候直接把我下面这段代码拷贝过去就ok了。
1.建一个工程,名为TestFocus。
2.在布局文件中,主要有2个文本输入组件和一个文本显示组件。如下。
3.接下来,就是今天的核心知识,大家请注意,焦点事件,OnFocusChangeListener。直接贴代码了。
package org.focus.cn;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;
/**
* 2012-03-15
* @author song
* QQ:876245986
*/
public class FocusActivity extends Activity {
private EditText edit,edit2;
private TextView text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.edit = (EditText) super.findViewById(R.id.edit);
this.edit2= (EditText) super.findViewById(R.id.edit2);
this.text = (TextView) super.findViewById(R.id.txt);
this.edit.setOnFocusChangeListener(new OnFocusChangeListenerimp());
this.edit.setOnClickListener(new OnClickListenerimp());
}
private class OnClickListenerimp implements OnClickListener{
@Override
public void onClick(View v) {
FocusActivity.this.edit.setText(""); //清空数据
}
}
//焦点事件
private class OnFocusChangeListenerimp implements OnFocusChangeListener{
@Override
public void onFocusChange(View v, boolean hasFocus) { //hasFocus表示是否获得焦点
if(hasFocus)
{
FocusActivity.this.text.setText("获得焦点!");
}else{
if(FocusActivity.this.text.length()>1)
{
FocusActivity.this.text.setText("文本输入组件,失去焦点,数据合法。");
}else{
FocusActivity.this.text.setText("文本输入组件,失去焦点,请输入数据!");
}
}
}
}
}
4.运行效果见下面。
5.ok,另附源码下载地址: =========》http://download.csdn.net/detail/gsg8709/4144150
更多相关文章
- 为什么要学习 Markdown?究竟有什么用?
- Android(安卓)最新面试题
- Android(安卓)架构组件 - 让天下没有难做的 App
- android 数据储存——SharedPreferences存储(1)
- Android(安卓)JNI简介
- Android控件的使用
- Anroid中的任务、进程和线程
- 【Android(安卓)开发】:TextView的几种使用方法
- AndroidAZ系列:四大组件之Broadcast(All,Face)