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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

android按钮点击toast,关于button点击事件中setOnClick等元素的解读以及方法?以及toast的位置以及作用?...

發(fā)布時(shí)間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android按钮点击toast,关于button点击事件中setOnClick等元素的解读以及方法?以及toast的位置以及作用?... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

此文末參考鏈接:

此段代碼的教程以及使用接口的方式、switch語句的教程鏈接為鏈接1.

匯總里說的有更多的實(shí)現(xiàn)方法,為鏈接2。

文中鏈接為視覺統(tǒng)一,鏈接均于文末,以上為方便文中跳轉(zhuǎn),加了文中的跳轉(zhuǎn)鏈接。

以下代碼為我學(xué)習(xí)button以及監(jiān)聽器和點(diǎn)擊事件相關(guān)的簡(jiǎn)單代碼:

直接上代碼,討論與咨詢中教程鏈接于參考鏈接中(如果需要我將教程文字放上來):

package com.example.felixxiong.uitest;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button; //需要添加buton包導(dǎo)入

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button mButton = (Button)findViewById(R.id.button);

mButton.setOnClickListener(new View.OnClickListener(){

@Override

public void OnClick(View view){

Toast.makeText(MainActivity.this.,"點(diǎn)擊了Toast",Toast.LENGTH_SHORT).show();

}

});

}

}

以上代碼我的初次理解

Button mButton就是賦一個(gè)值mbutton,

button findviewbyid就原本是一個(gè)返回view,但是因?yàn)楦鶕?jù)ID里的button就返回一個(gè)button實(shí)例,這個(gè)過程就是Button mButton = (Button)findViewById(R.id.button);

這一行,

下面就是注冊(cè)一個(gè)監(jiān)聽器,調(diào)用構(gòu)造器View.OnClickListener,之后重寫onclick,在后面括號(hào)里寫自己的邏輯?

返回button實(shí)例后就是一個(gè)向下轉(zhuǎn)型的過程,就是(Button)findViewById(R.id.button);,等號(hào)后半段

大體概括是:先取名字,之后獲得ID向下轉(zhuǎn)型返回實(shí)例,之后注冊(cè)監(jiān)聽器,重寫方法,寫自己的跳轉(zhuǎn)邏輯?

關(guān)于討論以及咨詢交流匯總

setOnClickListener

GSX:

mButton.setOnClickListener(new View.OnClickListener(){

//注冊(cè)監(jiān)聽器,調(diào)用View.OnClickListener構(gòu)造器

XY:這不是個(gè)類,是個(gè)接口

還有的問題在"銜接的問題"

問題:Java中,類使用new就可以當(dāng)對(duì)象使用,所以這里的setOnClickListener是匿名內(nèi)部類,或者是接口?

GSX:PH說new View.OnClickListener是對(duì)象,教程里說里面?zhèn)魅雜et這個(gè)是對(duì)象,類變成new不就是當(dāng)對(duì)象使用了,所以等于是對(duì)象,new 后面調(diào)用構(gòu)造器,可是XY說set是接口不是構(gòu)造器,而且我還沒到調(diào)用接口這一個(gè)步驟

XY:應(yīng)該不是構(gòu)造器,因?yàn)榛卣{(diào)函數(shù)是一個(gè)對(duì)象而不是實(shí)現(xiàn)的方法

new View.OnClickListener

GSX:new不是定義構(gòu)造器么?

PH:是對(duì)象

XY:接口的new不能是構(gòu)造方法吧?

問題1:View.OnClickListener是對(duì)象,之前說new是引用構(gòu)造器,new的前面setOnClickListener使用new就可以編程對(duì)象使用,對(duì)象傳入對(duì)象?

問題2:new不應(yīng)該是調(diào)用構(gòu)造器,教程里寫的是對(duì)象?是不是View.OnClickListener不是構(gòu)造器?

OnClick()

GSX:Listener之后都是點(diǎn)擊邏輯吧?

PH:OnClick()方法內(nèi)是點(diǎn)擊邏輯

問題:toast僅僅是氣泡?在實(shí)際的開發(fā)應(yīng)用中,這個(gè)應(yīng)該也算是點(diǎn)擊之后的邏輯?因?yàn)榻坛讨惺强梢赃M(jìn)行實(shí)戰(zhàn)添加的,點(diǎn)擊之后可以出現(xiàn)

toast

GSX:以上代碼也可以單獨(dú)添加toast,還有使用接口的方式也可以實(shí)現(xiàn)toast,是不是有兩種方法?

PH:這個(gè)是寫在監(jiān)聽器里的,所以是監(jiān)聽器,點(diǎn)擊后的邏輯都是監(jiān)聽器實(shí)現(xiàn)的,沒監(jiān)聽器就不知道此按鈕是否被點(diǎn)擊…反正不用監(jiān)聽器,toast做不出來,所以兩種方法是不存在的

問題:toast是寫在監(jiān)聽器里的么?看教程中點(diǎn)擊事件可以根據(jù)這種代碼即可實(shí)現(xiàn),還有一種方式就是增加switch語句和case中實(shí)現(xiàn),下面的鏈接2有更多的實(shí)現(xiàn)方法……

如果說toast是寫在監(jiān)聽器里的,那監(jiān)聽器是不是包括了以下代碼:

mButton.setOnClickListener(new View.OnClickListener(){

@Override

public void OnClick(View view){

Toast.makeText(MainActivity.this.,"點(diǎn)擊了Toast",Toast.LENGTH_SHORT).show();

}

而不只只是含有以下這一行?

自定義button名稱.setOnClickListener(new View.OnClickListener(){

關(guān)于本段代碼

點(diǎn)擊事件

GSX:你們點(diǎn)擊事件用的是接口(使用switch語句),還是轉(zhuǎn)換實(shí)例向下轉(zhuǎn)型(即本代碼)?

XH:點(diǎn)擊事件不用接口用什么?

GTF:這個(gè)有很多重載的方式

問題:點(diǎn)擊事件,以上代碼可以作為點(diǎn)擊事件(綁定)方式之一,還是僅僅用于注冊(cè)監(jiān)聽器?

因?yàn)殒溄?以及鏈接2中也有涉及使用接口進(jìn)行點(diǎn)擊事件(即switch語句的方式)

關(guān)于使用接口的方式綁定事件

GSX:教程里還有一個(gè)方法就是使用接口點(diǎn)擊事件,使用的是switch語句,之后里面有toast,但是僅僅是現(xiàn)在的綁定方法也可以出先toast,但是有人說toast是寫在監(jiān)聽器里的,邏輯是在onClick后的括號(hào)里面寫

PZ:看你怎么設(shè)計(jì),都可以實(shí)現(xiàn),一般switch里越簡(jiǎn)單越好

GSX:Android點(diǎn)擊事件都是需要接口的?

PZ:不是必須的,看你怎么設(shè)計(jì),多看看設(shè)計(jì)模式

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的android按钮点击toast,关于button点击事件中setOnClick等元素的解读以及方法?以及toast的位置以及作用?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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