android应用开发详解(六)--------------事件处理机制(续)
来源:互联网 发布:经济衰退 知乎 编辑:程序博客网 时间:2024/04/27 18:16
1、工程目录
2、TestEventActivity.java
package com.example.test_event;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnFocusChangeListener;import android.view.View.OnKeyListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.EditText;//import android.widget.TextView;import android.widget.Toast;public class TestEventActivity extends Activity {// private TextView myTextview1, myTextview2, myTextView3;private Button myButton1, myButton2;private EditText myEditText1, myEditText2;private CheckBox myCheckbox1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_event);// myTextview1 = (TextView) findViewById(R.id.textviewLayout01);// myTextview2 = (TextView) findViewById(R.id.textviewLayout02);// myTextView3 = (TextView) findViewById(R.id.textviewLayout03);myButton1 = (Button) findViewById(R.id.buttonLayout01);myButton2 = (Button) findViewById(R.id.buttonLayout02);myEditText1 = (EditText) findViewById(R.id.edittextLayout01);myEditText2 = (EditText) findViewById(R.id.editviewLayout02);myCheckbox1 = (CheckBox) findViewById(R.id.checkboxLayout01);// 编辑文本框的按键事件myEditText1.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View arg0, int arg1, KeyEvent arg2) {// TODO Auto-generated method stubmyEditText1.setText("");return false;}});myEditText2.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View arg0, int arg1, KeyEvent arg2) {// TODO Auto-generated method stubmyEditText2.setText("");return false;}});// 编辑文本框的焦点事件myEditText1.setOnFocusChangeListener(new OnFocusChangeListener() {@Overridepublic void onFocusChange(View arg0, boolean arg1) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), myEditText1.getText(),Toast.LENGTH_LONG).show();}});myEditText2.setOnFocusChangeListener(new OnFocusChangeListener() {@Overridepublic void onFocusChange(View arg0, boolean arg1) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), myEditText2.getText(),Toast.LENGTH_LONG).show();}});// 多选框的选择事件myCheckbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton arg0, boolean arg1) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(),myCheckbox1.isChecked() + "", Toast.LENGTH_LONG).show();}});// 按钮的选择事件myButton1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), myButton1.getText(),Toast.LENGTH_LONG).show();}});myButton2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), myButton2.getText(),Toast.LENGTH_LONG).show();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.test_event, menu);return true;}}
3、布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TableLayout android:id="@+id/myTableLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableRow> <TextView android:id="@+id/textviewLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名称" /> <EditText android:id="@+id/edittextLayout01" android:layout_width="fill_parent" android:scrollHorizontally="true" android:text="admin" /> </TableRow> <TableRow> <TextView android:id="@+id/textviewLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户密码" /> <EditText android:id="@+id/editviewLayout02" android:layout_width="fill_parent" android:password="true" android:scrollHorizontally="true" android:text="123" /> </TableRow> <TableRow> <TextView android:id="@+id/textviewLayout03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自动登录" /> <CheckBox android:id="@+id/checkboxLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableRow> <TableRow> <Button android:id="@+id/buttonLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" /> <Button android:id="@+id/buttonLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="取消" /> </TableRow> </TableLayout></LinearLayout>
【知识】
android中常见的事件监听器:
(1)点击事件View.onClickListener:当用户碰触到某个组件或者方向键被按下时产生该事件,处理方法是onClick()
(2)焦点事件View.OnFocusChangeListener:组件得到或者失去焦点时产生该事件,处理方法是onFocusChange()
(3)按键事件View.OnKeyListener:用户按下或者释放设备上的某个按键时产生,处理方法onKey()
(4)碰触事件View.OnTouchListener:设备具有碰触功能时,碰触屏幕产生该事件,处理方法onTouch()
(5)创建上下文菜单事件View.OnCreateContextMenuListener:创建上下文菜单时产生该事件,处理方法是onCreateContextMenu()
事件处理步骤:
(1)创建事件监听器
(2)给要响应事件的组件注册事件监听器
(3)在事件处理方法中编写实现代码
0 0
- android应用开发详解(六)--------------事件处理机制
- android应用开发详解(六)--------------事件处理机制(续)
- 【Android应用开发技术:应用组件】Android事件处理机制
- 【Android应用开发技术:应用组件】事件处理机制
- Android事件处理机制详解
- Android开发之触摸事件处理机制详解
- Android开发之触摸事件处理机制详解
- Android开发之触摸事件处理机制详解
- Android开发知识(七):Android事件处理机制:事件分发、传递、拦截、处理机制的原理分析(上)
- Android开发知识(八):Android事件处理机制:事件分发、传递、拦截、处理机制的原理分析(中)
- Android开发知识(九):Android事件处理机制:事件分发、传递、拦截、处理机制的原理分析(下)
- android开发框架(六)WindowManager机制
- android事件拦截处理机制详解
- android事件拦截处理机制详解
- 【转】android事件拦截处理机制详解
- android事件拦截处理机制详解
- android事件拦截处理机制详解
- android事件拦截处理机制详解
- 9四种布局
- 云计算受限海量数据 雾计算成驱动未来科技真正力量
- Lambda表达式详解
- 常用的正则校验
- C语言11中的auto和decltype
- android应用开发详解(六)--------------事件处理机制(续)
- 8生命周期
- 《数据结构》第二章线性表 思维导图
- C++存储区域基础概念详解
- Linux目录结构、Linux分区大小、挂载点和如何分区
- 【POJ1837】Balance,带负体积状态的01背包,水题
- 7添加菜单
- 『常识』计算机中的名词或概念逐个数:“抽象”
- iPhone屏幕尺寸