Android中按钮的点击事件的四种写法
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Android中按钮的点击事件的四种写法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                如題,在Android中按鈕的點擊事件有四種寫法,如下圖。
界面為四個Button+一個TextView+一個ImageView
 
activity_main布局文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="5dp"tools:context=".MainActivity"><Buttonandroid:id="@+id/btn_click1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/click1" /><Buttonandroid:id="@+id/btn_click2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/click2" /><Buttonandroid:id="@+id/btn_click3"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/click3" /><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="click4"android:text="@string/click4" /><TextViewandroid:id="@+id/tv_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="@android:color/holo_red_light"android:textSize="18sp"/><ImageViewandroid:id="@+id/iv_yc"android:layout_width="wrap_content"android:layout_height="wrap_content" /> </LinearLayout> 主界面實現的代碼如下: package clickevent.ithema.com.clickevent;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView;public class MainActivity extends Activity implements View.OnClickListener {private TextView tv_text;private Button btn_click1,btn_click2,btn_click3;private ImageView iv_yc;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_text = (TextView) findViewById(R.id.tv_text);iv_yc= (ImageView) findViewById(R.id.iv_yc);btn_click1 = (Button) findViewById(R.id.btn_click1);btn_click2 = (Button) findViewById(R.id.btn_click2);btn_click3 = (Button) findViewById(R.id.btn_click3);btn_click2.setOnClickListener(this);//這是實現接口點擊的方法btn_click3.setOnClickListener(new MyListener());//這是自定義類實現接口點擊的方法btn_click1.setOnClickListener(new View.OnClickListener() {//實現匿名內部類點擊的方法@Overridepublic void onClick(View v) {tv_text.setText("這是匿名內部類點擊的方法,適用于只用一次點擊方法");iv_yc.setImageResource(R.drawable.click1);}});}@Overridepublic void onClick(View v) {tv_text.setText("這是實現接口點擊的方法");iv_yc.setImageResource(R.drawable.click2);}class MyListener implements View.OnClickListener {@Overridepublic void onClick(View v) {tv_text.setText("這是自定義類實現接口點擊的方法");iv_yc.setImageResource(R.drawable.click3);}}public void click4(View v){tv_text.setText("這是在xml文件中定義屬性的方法");iv_yc.setImageResource(R.drawable.click4);} }</span><span style="font-size:18px;font-weight: bold;"> </span>以下為拆分后單獨的代碼:
方法一:匿名內部類方法
package clickevent.ithema.com.clickevent;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView;/*** Created by Administrator on 2016/7/16.*/ public class Click1 extends Activity{private TextView tv_text;//文本框private ImageView iv_yc;//圖片框private Button btn_click1;//按鈕@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_text= (TextView) findViewById(R.id.tv_text);//查找到文本框的IDiv_yc= (ImageView) findViewById(R.id.iv_yc);//查找到圖片框的IDbtn_click1= (Button) findViewById(R.id.btn_click1);//查找到按鈕的IDbtn_click1.setOnClickListener(new View.OnClickListener() { //給按鈕設置監聽@Override//按鈕點擊解發的方法public void onClick(View v) {//設置要顯示的文字tv_text.setText("這是匿名內部類點擊的方法,適用于只用一次點擊方法");//設置要顯示的圖片iv_yc.setImageResource(R.drawable.click1);}});} } 方法二:實現接口package clickevent.ithema.com.clickevent;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView;/*** Created by Administrator on 2016/7/16.*/ public class Click2 extends Activity implements View.OnClickListener {//實現監聽接口private TextView tv_text;//文本框private ImageView iv_yc;//圖片框private Button btn_click2;//按鈕@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_text= (TextView) findViewById(R.id.tv_text);//查找到文本框的IDiv_yc= (ImageView) findViewById(R.id.iv_yc);//查找到圖片框的IDbtn_click2= (Button) findViewById(R.id.btn_click2); //查找到按鈕的IDbtn_click2.setOnClickListener(this);//給按鈕設置監聽}@Override//按鈕點擊解發的方法public void onClick(View v) {//設置要顯示的文字tv_text.setText("這是實現接口點擊的方法");//設置要顯示的圖片iv_yc.setImageResource(R.drawable.click2);} } 方法三:自定義類實現接口 package clickevent.ithema.com.clickevent;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView;/*** Created by Administrator on 2016/7/16.*/ public class Click3 extends Activity {private TextView tv_text;//文本框private ImageView iv_yc;//圖片框private Button btn_click3;//按鈕@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_text = (TextView) findViewById(R.id.tv_text);//查找到文本框的IDiv_yc= (ImageView) findViewById(R.id.iv_yc);//查找到圖片框的IDbtn_click3 = (Button) findViewById(R.id.btn_click3);//查找到按鈕的IDbtn_click3.setOnClickListener(new MyListener());//給按鈕設置監聽}class MyListener implements View.OnClickListener {//自定義MyListener類實現OnClickListener接口@Overridepublic void onClick(View v) {//設置要顯示的文字tv_text.setText("這是自定義類實現接口點擊的方法");//設置要顯示的圖片iv_yc.setImageResource(R.drawable.click3);}} } 方法四:在xml文件中定義onClick屬性
1、在xml文件中定義onClick屬性: <Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="click4"android:text="@string/click4" />2、在java代碼中寫點擊的方法: package clickevent.ithema.com.clickevent;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TextView;/*** Created by Administrator on 2016/7/16.*/ public class Click4 extends Activity {private TextView tv_text;//文本框private ImageView iv_yc;//圖片框@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_text = (TextView) findViewById(R.id.tv_text);//查找到文本框的IDiv_yc= (ImageView) findViewById(R.id.iv_yc);//查找到圖片框的ID}public void click4(View v){//設置要顯示的文字tv_text.setText("這是在xml文件中定義屬性的方法");//設置要顯示的圖片iv_yc.setImageResource(R.drawable.click4);} }
以上是本人總結的按鈕的四種點擊事件,如有不足之處,請給予批評指正,謝謝!
總結
以上是生活随笔為你收集整理的Android中按钮的点击事件的四种写法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 2021-07-05
- 下一篇: springboot源码 红色J_通达信
