日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 按钮 监听_Button的四种监听方式

發(fā)布時間:2025/3/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 按钮 监听_Button的四种监听方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Button按鈕設(shè)置點擊的四種監(jiān)聽方式

注:加粗放大的都是改變的代碼

1.使用匿名內(nèi)部類的形式進行設(shè)置

使用匿名內(nèi)部類的形式,直接將需要設(shè)置的onClickListener接口對象初始化,內(nèi)部的onClick方法會在按鈕被點擊的時候執(zhí)行

第一個活動的java代碼:

1 packagecom.sanlian.buttontest;2

3 importandroid.content.Intent;4 importandroid.support.v7.app.AppCompatActivity;5 importandroid.os.Bundle;6 importandroid.view.View;7 importandroid.widget.Button;8

9 public class MainActivity extendsAppCompatActivity {10

11 @Override12 protected voidonCreate(Bundle savedInstanceState) {13 super.onCreate(savedInstanceState);14 setContentView(R.layout.activity_main);15 //通過id找到關(guān)聯(lián)布局中的view控件

16 Button btn =(Button) findViewById(R.id.btn);17 //給Button按鈕添加點擊的監(jiān)聽

18 btn.setOnClickListener(newView.OnClickListener() {19 @Override20 //只要當(dāng)前的設(shè)置的監(jiān)聽器被觸發(fā),這個方法就會被執(zhí)行

21 public voidonClick(View v) {22 startActivity(new Intent(MainActivity.this,SecondAty.class));23 }24 });

25 }26 }

第一個活動的xml代碼:

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:tools="http://schemas.android.com/tools"

4 android:layout_width="match_parent"

5 android:layout_height="match_parent"

6 android:paddingBottom="@dimen/activity_vertical_margin"

7 android:paddingLeft="@dimen/activity_horizontal_margin"

8 android:paddingRight="@dimen/activity_horizontal_margin"

9 android:paddingTop="@dimen/activity_vertical_margin"

10 tools:context="com.sanlian.buttontest.MainActivity"

11 >

12

13

15 android:layout_width="wrap_content"

16 android:layout_height="wrap_content"

17 android:text="點我"/>

18

第二個活動的java代碼:

1 packagecom.sanlian.buttontest;2

3 importandroid.support.v7.app.AppCompatActivity;4 importandroid.os.Bundle;5 importandroid.text.SpannableString;6 importandroid.text.style.StyleSpan;7 importandroid.text.style.TypefaceSpan;8 importandroid.widget.TextView;9

10 public class SecondAty extendsAppCompatActivity {11

12 @Override13 protected voidonCreate(Bundle savedInstanceState) {14 super.onCreate(savedInstanceState);15 setContentView(R.layout.activity_second_aty);16

17

18

19 }20 }

第二個活動的xml代碼:

程序運行結(jié)果截圖:

2.在xml文件中定義onClick屬性,java代碼中對應(yīng)方法

在xml中定義onClick屬性。屬性中對應(yīng)的值需要在java代碼中編寫對應(yīng)的方法名。

注意:參數(shù)中的View必須-----》方法類似于:public void xxx(View v)

第一個活動的java代碼 :

1 packagecom.sanlian.buttontest;2

3 importandroid.content.Intent;4 importandroid.support.v7.app.AppCompatActivity;5 importandroid.os.Bundle;6 importandroid.view.View;7 importandroid.widget.Button;8

9 public class MainActivity extendsAppCompatActivity {10

11 @Override12 protected voidonCreate(Bundle savedInstanceState) {13 super.onCreate(savedInstanceState);14 setContentView(R.layout.activity_main);15 }16 public voidskip(View v){17 startActivity(new Intent(MainActivity.this,SecondAty.class));18 }19

20

21 }

第一個活動的xml代碼:

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:tools="http://schemas.android.com/tools"

4 android:layout_width="match_parent"

5 android:layout_height="match_parent"

6 android:paddingBottom="@dimen/activity_vertical_margin"

7 android:paddingLeft="@dimen/activity_horizontal_margin"

8 android:paddingRight="@dimen/activity_horizontal_margin"

9 android:paddingTop="@dimen/activity_vertical_margin"

10 tools:context="com.sanlian.buttontest.MainActivity"

11 >

12

13

15 android:layout_width="wrap_content"

16 android:layout_height="wrap_content"

17 android:onClick="skip"

18 android:text="點我"/>

19

其他的和匿名內(nèi)部類的方法一樣。

3.Activity 實現(xiàn)onClickListener接口

在給Button按鈕設(shè)置點擊的監(jiān)聽的時候直接讓當(dāng)前的Activity實現(xiàn)onClickListener接口,這樣傳入的監(jiān)聽對象就可以直接使用當(dāng)前Activity.this

第一個活動的java代碼:

1 packagecom.sanlian.buttontest;2

3 importandroid.content.Intent;4 importandroid.support.v7.app.AppCompatActivity;5 importandroid.os.Bundle;6 importandroid.view.View;7 importandroid.widget.Button;8

9 public class MainActivity extends AppCompatActivityimplementsView.OnClickListener {10

11 @Override12 protected voidonCreate(Bundle savedInstanceState) {13 super.onCreate(savedInstanceState);14 setContentView(R.layout.activity_main);15 //找到控件的id,也叫控件的初始化

16 Button btn =(Button) findViewById(R.id.btn);17 //給Button按鈕設(shè)置監(jiān)聽

18 btn.setOnClickListener(this);19 }20

21

22

23 public voidonClick(View v) {24 //啟動另一個activity

25 startActivity(new Intent(MainActivity.this,SecondAty.class));26

27 //使用swith查找要點擊的按鈕的id

28 /*switch (v.getId()){29 case R.id.btn:30 startActivity(new Intent(MainActivity.this,SecondAty.class));31 break;32 default:33 break;34 }*/

35 }36 }

第一個活動的xml代碼:

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:tools="http://schemas.android.com/tools"

4 android:layout_width="match_parent"

5 android:layout_height="match_parent"

6 android:paddingBottom="@dimen/activity_vertical_margin"

7 android:paddingLeft="@dimen/activity_horizontal_margin"

8 android:paddingRight="@dimen/activity_horizontal_margin"

9 android:paddingTop="@dimen/activity_vertical_margin"

10 tools:context="com.sanlian.buttontest.MainActivity"

11 >

12

13

15 android:layout_width="wrap_content"

16 android:layout_height="wrap_content"

17 android:text="點我"/>

18

其他的和第一個方法一樣

4.其他類實現(xiàn)onClickListener接口

讓另外一個類來實現(xiàn)onClickListener接口。這樣如果控件在需要設(shè)置點擊監(jiān)聽的時候,直接傳入該類的對象即可。

第一個活動的java代碼:

1 packagecom.sanlian.buttontest;2

3 importandroid.content.Intent;4 importandroid.support.v7.app.AppCompatActivity;5 importandroid.os.Bundle;6 importandroid.util.Log;7 importandroid.view.View;8 importandroid.widget.Button;9

10 public class MainActivity extendsAppCompatActivity{11

12 @Override13 protected voidonCreate(Bundle savedInstanceState) {14 super.onCreate(savedInstanceState);15 setContentView(R.layout.activity_main);16 //找到控件的id,也叫控件的初始化

17 Button btn =(Button) findViewById(R.id.btn);18 Button btn2 =(Button) findViewById(R.id.btn2);19 //給Button按鈕設(shè)置監(jiān)聽

20 myListener mylistener = newmyListener();21 btn.setOnClickListener(mylistener);22 btn2.setOnClickListener(mylistener);23 }24 class myListener implementsView.OnClickListener {25 @Override26 //參數(shù)v:就是觸發(fā)點擊的View控件。在這里就是被點擊了Button按鈕

27 public voidonClick(View v) {28 switch(v.getId()){29 caseR.id.btn:30 Log.i("TAG","你點擊了button1按鈕");31 break;32 caseR.id.btn2:33 Log.i("TAG","你點擊了button2按鈕");34 }3536 }37 }38

39 }

第一個活動的xml代碼:

1 <?xml version="1.0" encoding="utf-8"?>

2

3 xmlns:tools="http://schemas.android.com/tools"

4 android:layout_width="match_parent"

5 android:layout_height="match_parent"

6 android:paddingBottom="@dimen/activity_vertical_margin"

7 android:paddingLeft="@dimen/activity_horizontal_margin"

8 android:paddingRight="@dimen/activity_horizontal_margin"

9 android:paddingTop="@dimen/activity_vertical_margin"

10 tools:context="com.sanlian.buttontest.MainActivity"

11 >

12

13

15 android:layout_width="wrap_content"

16 android:layout_height="wrap_content"

17 android:text="點我"/>

18

19

21 android:layout_width="wrap_content"

22 android:layout_height="wrap_content"

23 android:text="點我"/>

24

25

26

實現(xiàn)的結(jié)果截圖:

總結(jié)

以上是生活随笔為你收集整理的java 按钮 监听_Button的四种监听方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。