zoukankan      html  css  js  c++  java
  • 事件

    事件

    1 什么是事件处理?

      事件处理就是针对用户的一些特定操作,进行相对应的回馈。

      时间处理也是程序开发中的人机交互的一个非常重要的体现。事件处理中,事件源是事件的起始位。

    一、事件处理步骤

      2 事件的三要素:

        注册事件监听器    //监听是否有动作

        根据指定的事件中编写事件处理的代码 //有动作怎么办

        在事件处理的代码中完成对事件的处理 //处理结果完成对事件的处理

    二、常用的事件处理方法

      1、public void setOnClickListener()   注册单击事件

    Button btnlogin = (Button)findViewById(R.id.Button02);
    	btnlogin.setOnClickListener(new OnClickListener() {
    		public void onClick(View v) {
    		  if (etname.getText().toString().equals("111")
    			&& etname1.getText().toString().equals("111")){
    				wenben.setText("登录中...");
    				wenben.setVisibility(View.VISIBLE);
    		   }else{
    			wenben.setText("账号错误或者密码错误......");
    			wenben.setVisibility(View.VISIBLE);
    		   }
    		}
    	});
    

    下拉框事件

     1 sp.setOnItemSelectedListener(new OnItemSelectedListener() {
     2 //一级联
     3 public void onItemSelected(AdapterView<?> arg0, View view,int position, long id) {
     4  TextView tView = (TextView) view;
     5  string = tView.getText().toString();
     6  tv.setText(string);
     7  if (string.equals("湖南")) {
     8   hnAdapter
     9    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    10   sp2.setAdapter(hnAdapter);
    11  } else if (string.equals("湖北")) {
    12   hbAdapter
    13    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    14   sp2.setAdapter(hbAdapter);
    15  } else if (string.equals("广东")) {
    16   gdAdapter
    17    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    18   sp2.setAdapter(gdAdapter);
    19  }
    20 }
    下拉列表

      2、public void setOnlongClickListener()  注册长按事件

     1 img = (ImageView) findViewById(R.id.img01);
     2         tex = (TextView) findViewById(R.id.Text01);
     3         img.setOnLongClickListener(new OnLongClickListener() {
     4             public boolean onLongClick(View v) {
     5                 try {
     6                     long1.this.clearWallpaper();//清除背景图片
     7                     long1.this.setWallpaper(long1.this.img.getResources()
     8                             .openRawResource(R.drawable.feng01));//加载新的图片到壁纸
     9                     long1.this.tex.setText("手机桌面更改成功。");
    10                 } catch (IOException e) {
    11                     long1.this.tex.setText("手机桌面更改失败。");
    12                 }
    13                 return true;//事件的套用
    14             }
    15         });

     注意:<!-- 给应用授权:改变壁纸的权限 -->
          <uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>

      3、public void setOnKeyListener()  注册键盘事件

     1 et = (EditText)findViewById(R.id.et);
     2         iv = (ImageView)findViewById(R.id.iv);
     3         et.setOnKeyListener(new OnKeyListener() {
     4             
     5             public boolean onKey(View v, int keyCode, KeyEvent event) {
     6                 if(event.getAction()==KeyEvent.ACTION_UP){
     7                     String str = et.getText().toString();
     8                     if(str.matches("\w+[@]\w+[.]+\w")){
     9                         iv.setImageResource(R.drawable.feng01);
    10                     }else {
    11                         iv.setImageResource(R.drawable.icon);
    12                     }
    13                 }
    14                 return false;
    15             }
    16         });

      4、public void setOnFocusChangListener()  注册焦点改变事件

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout
     3   xmlns:android="http://schemas.android.com/apk/res/android"
     4   android:orientation="vertical"
     5   android:layout_width="fill_parent"
     6   android:layout_height="wrap_content">
     7   <EditText
     8       android:id="@+id/ED01"
     9     android:layout_width="fill_parent"
    10     android:layout_height="wrap_content"
    11   />
    12   <EditText
    13       android:id="@+id/ED02"
    14     android:layout_width="fill_parent"
    15     android:layout_height="wrap_content"
    16   />
    17   <TextView
    18       android:id="@+id/TV01"
    19     android:layout_width="fill_parent"
    20     android:layout_height="wrap_content"
    21   />
    22 </LinearLayout>
    焦点事件

        控件显示/隐藏 android:Visibility="Visible" android:Visibility="invisible"

        java代码中 控件对象名:setVisibility(view.visible); setVisibility(view.invisible);

      5、public void setOnTouchListener()  注册触摸事件

    1 tv = (EditText)findViewById(R.id.et1);
    2         iv = (ImageView)findViewById(R.id.iv1);
    3         iv.setOnTouchListener(new OnTouchListener() {
    4             
    5             public boolean onTouch(View v, MotionEvent event) {
    6                 tv.setText("("+event.getX()+","+event.getY()+")");
    7                 return false;
    8             }
    9         });
    触摸事件

      6、public void setOnCreateContextMenuListener()  注册上下文菜单事件

  • 相关阅读:
    explain组合索引是否命中
    高并发优化
    docker基础篇一
    Web API 集成Serilog
    复习一下CSS,做笔记记录一下
    Process调用winform程序
    winform自动更新
    格式化xml 给没有节点的内容添加节点
    2.Grpc消息定义
    1.Grpc环境配置
  • 原文地址:https://www.cnblogs.com/luocixin/p/6862170.html
Copyright © 2011-2022 走看看