1. 程式人生 > >android學習之4種點選事件的響應方式

android學習之4種點選事件的響應方式

   如題,下面就一一列出對點選事件響應的4種方式:

第一種:內部類的形式:

package com.example.dail;

import android.net.Uri;
import android.os.Bundle;
import android.renderscript.Int2;
import android.text.TextUtils;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

	private Button bt_dail = null;
	private EditText et_number = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		bt_dail = (Button) findViewById(R.id.bt_dail);
		et_number = (EditText) findViewById(R.id.et_number);
		bt_dail.setOnClickListener(new MyListener());
	}
	private void callPhone() {
		String number = et_number.getText().toString();
		if(TextUtils.isEmpty(number)) {
			Toast.makeText(MainActivity.this, "號碼不能為空", 1).show();
		}
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:"+number));
		startActivity(intent);
	}
	private class MyListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			callPhone();
		}
		
	}

}
  建立一個內部類MyListener實現OnClickListener介面。

第二種:匿名內部類:

package com.example.dail;

import android.net.Uri;
import android.os.Bundle;
import android.renderscript.Int2;
import android.text.TextUtils;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

	private Button bt_dail = null;
	private EditText et_number = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		bt_dail = (Button) findViewById(R.id.bt_dail);
		et_number = (EditText) findViewById(R.id.et_number);
		bt_dail.setOnClickListener(new OnClickListener(){
			public void onClick(View v){
				callPhone();
			}
		});
	}
	private void callPhone() {
		String number = et_number.getText().toString();
		if(TextUtils.isEmpty(number)) {
			Toast.makeText(MainActivity.this, "號碼不能為空", 1).show();
		}
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:"+number));
		startActivity(intent);
	}
}
第三種:在xml佈局檔案中,定義onclick的方式
<Button
	    android:onClick="btOnClick"
	    android:id="@+id/bt_dail"
	    android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:layout_below="@id/et_number"
	    android:text="@string/dail"/>"

然後再主類裡面實現btOnClick方法,

private void btOnClick(View v) {
		callPhone();
}
private void callPhone() {
		String number = et_number.getText().toString();
		if(TextUtils.isEmpty(number)) {
			Toast.makeText(MainActivity.this, "號碼不能為空", 1).show();
		}
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:"+number));
		startActivity(intent);
}

第四種:讓主類實現OnClickListener介面,然後再主類實現未實現的方法

package com.example.dail;

import android.net.Uri;
import android.os.Bundle;
import android.renderscript.Int2;
import android.text.TextUtils;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

	private Button bt_dail = null;
	private EditText et_number = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		bt_dail = (Button) findViewById(R.id.bt_dail);
		et_number = (EditText) findViewById(R.id.et_number);
		bt_dail.setOnClickListener(this);
	}
	private void callPhone() {
		String number = et_number.getText().toString();
		if(TextUtils.isEmpty(number)) {
			Toast.makeText(MainActivity.this, "號碼不能為空", 1).show();
		}
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:"+number));
		startActivity(intent);
	}
	@Override
	public void onClick(View v) {
		callPhone();		
	}
}
如上所述,4種點選事件的響應方式就是如此。


<pre code_snippet_id="103066" snippet_file_name="blog_20131208_4_3031669" name="code" class="java">
<pre code_snippet_id="103066" snippet_file_name="blog_20131208_5_5713865" name="code" class="java"><pre code_snippet_id="103066" snippet_file_name="blog_20131208_5_5713865" name="code" class="java"><pre code_snippet_id="103066" snippet_file_name="blog_20131208_5_5713865">

相關推薦

android學習4事件響應方式

   如題,下面就一一列出對點選事件響應的4種方式: 第一種:內部類的形式: package com.example.dail; import android.net.Uri; import android.os.Bundle; import android.rende

黑馬66期android學習筆記16_按鈕事件

一、專案結構 二、activity_main.xml程式碼 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schema

Android中Button四事件實現方式

方法 instance break findview gin ins case tac 匿名內部類 1.Xml添加監聽屬性,這裏添加的doClick。 1 <Button 2 android:id="@+id/bt1" 3 andro

Ngui 五事件實現方式及在3d場景點透事件

[C#] 純文字檢視 複製程式碼 using UnityEngine; using System.Collections; public class EventListerrnTest : MonoBehaviour { public Transform btn01; public Transf

Android studio程式碼實現打電話+事件方式

?Android系統架構(重點) 第一層:應用層Application 第二層:應用框架層Application Framework 第三層:Android底層類庫層 Libraries、Dalvik虛擬機器 第四層:linux核心層 linux kernel Android是執行在

Android事件方法

Android四種點選事件方法 android中的按鈕點選事件,有四種: 1.內部類 2.匿名內部類 3.佈局資料夾定義Onclick屬性,並在activity中宣告方法 4.在主類中實現OncickListener介面,並在主類中實現未實現的方法 1、內部類 點

android listview系列item的事件及item佈局中的事件(四)

很多時候listview只顯示簡略資訊,我們需要點選子項去跳轉或在顯示詳細資訊的位置,將相關的詳細資訊顯示出來,listview提供了onItemClickListener()方法,在方法中我們可以執行我們需要的內容。 listview.setOnItem

Android中常用的四事件

1.匿名內部類的方式 findViewById(R.id.btn_submit).setOnClickListener(new View.OnClickListener() { @Override public

學習筆記_android四事件方法

android常用的四種響應按鈕點選事件的方法有 1.內部類 2.匿名內部類 3.佈局資料夾定義Onclick屬性,並在activity中宣告方法 4.在主類中實現OncickListener介面,並在主類中實現未實現的方法 1.內部類 btnButton.setOn

Android按鈕的五監聽事件處理

1、匿名內部類作為監聽器 button.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View v) {// TODO Auto-generated method stub}}

Android-四事件

1.按鈕四種點選事件寫法  [1]通過內部類來實現按鈕點選事件  [2]通過匿名內部類去實現 btn_test1.setOnClickListener(newView.OnClickListener(){@Overridepublicvoid onClick(View v){

事件處理二:事件監聽器的五寫法

首選方法二! 方法一:寫一個內部類,在類中實現點選事件 1、在父類中呼叫點選事件 bt_dail.setOnClickListener(new MyButtonListener()); 2、建立內部類 private class MyButtonListener

android recyclerview 上下滑動導致事件和資料錯亂問題解決

今天遇到一個奇怪的Bug  上下滑動Item時候 再往上滑 撥打電話 與剛開始不一致,網上很多人說setTag種種,但並沒有什麼卵用,很鄙視那些複製貼上的 兩種解決方案 getItemViewType(int position){return position} // 這樣多種佈局

Android recyclerview新增刪除條目事件

1.首先匯入recyclerview依賴 implementation 'com.android.support:recyclerview-v7:28.0.0' 2.activity_main.xml <LinearLayout android:lay

Unity學習筆記005.射線事件(PC/Mobile)

預處理,判斷當前平臺 void LateUpdate() { #if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN PC(); #endif #IF UNITY_EDITOR || UNITY_ANDROID Mobile(); #endif

Android Studio ListView的item事件彈出AlertDialog,和item的滑動

首先看看效果圖: 點選彈出AlertDialog的確認框! (一)第一步,建立一個xml檔案顯示item的佈局 student_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa

按鈕四事件寫法

按鈕四種點選事件寫法 [1]通過內部類來實現按鈕點選事件  [2]通過匿名內部類去實現 btn1.setOnClickListener(new View.OnClickListener() { @Override public

Android RecyclerView給Item新增事件

方法一、直接在Adapter中的onBindViewHolder()方法中實現點選事件 @Override public void onBindViewHolder(MyViewHolder

android 在.xml裡面新增事件onclick屬性,報錯java.lang.IllegalStateException: Could not find method

每天隨時都在寫onclick方法,自己寫的發現一個問題,在xml中定義 看報錯資訊: java.lang.IllegalStateException: Could not find method onClickButton(View) in a parent or ancestor

Android 部分文字顏色大小事件的處理

Android開發中,經常會有這樣一個需求,在一段文字中,為突出顯示其中幾個文字,會採用不同的顏色,大小來顯示,並且有可能需要點選處理。先將自己平常用到的幾種方法總結如下。 1. 直接利用佈局實現 2. 利用富文字標籤實現 3. webview