android基础整理之----事件的处理

版权声明: https://blog.csdn.net/yu805894501/article/details/91404580

点击事件的几种写法

匿名内部类实现点击事件

btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Toast.makeText(AnonInnerActivity.this, "我被点击了", Toast.LENGTH_SHORT).show();
			}
		});

当前类实现接口实现点击事件

package com.dimanche.demo;

import com.dimanche.click.R;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

/**
 * 当前类实现接口实现点击事件
 * 
 * @author Dimanche
 * 
 */
public class CurrenActivity extends Activity implements OnClickListener {
	Button btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_current);
		btn = (Button) findViewById(R.id.button1);
		btn.setOnClickListener(this);
	}

	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		switch (arg0.getId()) {
		case R.id.button1:
			Toast.makeText(CurrenActivity.this, "我被点击了", Toast.LENGTH_SHORT).show();
			break;

		default:
			break;
		}
	}

}

内部类及独立类点击事件

package com.dimanche.demo;

import com.dimanche.click.R;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

/**
 * 
 * @author Dimanche 内部类点击事件
 */
public class InnerActivity extends Activity {
	Button inner;// 内部类
	Button idne;// 独立类

	MyOnclic myOnclic;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_inner);
		// 初始化MyClick
		myOnclic = new MyOnclic();
		// 初始化控件
		inner = (Button) findViewById(R.id.inner);
		idne = (Button) findViewById(R.id.idne);
		// 绑定点击事件
		inner.setOnClickListener(myOnclic);
		idne.setOnClickListener(idneClick);

	}

	OnClickListener idneClick = new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			switch (arg0.getId()) {
			// 控件id
			case R.id.idne:
				Toast.makeText(InnerActivity.this, "我被点击了", Toast.LENGTH_SHORT).show();
				break;

			default:
				break;
			}
		}
	};

	/**
	 * 内部类
	 * 
	 * @author Demanche
	 * 
	 */
	class MyOnclic implements OnClickListener {

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			switch (arg0.getId()) {
			// 控件id
			case R.id.inner:
				Toast.makeText(InnerActivity.this, "我被点击了", Toast.LENGTH_SHORT).show();
				break;

			default:
				break;
			}
		}

	}

}

通过onClick属性实现点击事件

package com.dimanche.demo;

import com.dimanche.click.R;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

/**
 * 通过onClick属性实现点击事件
 * 
 * @author Dimanche
 * 
 */
public class OnclicActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_onclic);

	}

	/*
	 * 通过onclick属性实现点击事件时,需要给方法传入view
	 */
	public void myClic(View view) {
		Toast.makeText(OnclicActivity.this, "我被点击了", Toast.LENGTH_SHORT).show();
	}
}

在布局中的button中设置onclick属性

长按事件

/**
	 * 长按事件
	 */
	OnLongClickListener longClickListener = new OnLongClickListener() {

		@Override
		public boolean onLongClick(View v) {
			// TODO Auto-generated method stub
			Toast.makeText(MainActivity.this, "我是长按事件", Toast.LENGTH_SHORT).show();
			return false;
		}
	};

触摸事件

package com.dimanche.demo;

import com.dimanche.click.R;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
import android.widget.Toast;

/**
 * 初识touch
 * 
 * @author dimanche
 *
 */
public class TouchActivity extends Activity {
	LinearLayout line;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_touch);
		line = (LinearLayout) findViewById(R.id.line);
		line.setOnTouchListener(new OnTouchListener() {

			@Override
			public boolean onTouch(View v, MotionEvent event) {

				switch (event.getAction()) {
				// 手指按下的点击事件
				case MotionEvent.ACTION_DOWN:
					Log.e("摁下", "111");
					Toast.makeText(TouchActivity.this, "手指摁下", Toast.LENGTH_SHORT).show();
					break;
				case MotionEvent.ACTION_MOVE:
					Log.e("移动", "111");
					Toast.makeText(TouchActivity.this, "手指开始移动", Toast.LENGTH_SHORT).show();
					break;
				case MotionEvent.ACTION_UP:
					Log.e("抬起", "111");
					Toast.makeText(TouchActivity.this, "手指抬起", Toast.LENGTH_SHORT).show();
					break;
				default:
					Toast.makeText(TouchActivity.this, "未知操作", Toast.LENGTH_SHORT).show();
					break;
				}

				return true;
			}
		});

	}

}


代码已上传百度云:
链接:https://pan.baidu.com/s/1D4D0_y3DSJj77IegrSZ_XA
提取码:nuwe

猜你喜欢

转载自blog.csdn.net/yu805894501/article/details/91404580
今日推荐