android按钮点击toast,关于button点击事件中setOnClick等元素的解读以及方法?以及toast的位置以及作用?...
此文末參考鏈接:
此段代碼的教程以及使用接口的方式、switch語句的教程鏈接為鏈接1.
匯總里說的有更多的實現方法,為鏈接2。
文中鏈接為視覺統一,鏈接均于文末,以上為方便文中跳轉,加了文中的跳轉鏈接。
以下代碼為我學習button以及監聽器和點擊事件相關的簡單代碼:
直接上代碼,討論與咨詢中教程鏈接于參考鏈接中(如果需要我將教程文字放上來):
package com.example.felixxiong.uitest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; //需要添加buton包導入
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.,"點擊了Toast",Toast.LENGTH_SHORT).show();
}
});
}
}
以上代碼我的初次理解
Button mButton就是賦一個值mbutton,
button findviewbyid就原本是一個返回view,但是因為根據ID里的button就返回一個button實例,這個過程就是Button mButton = (Button)findViewById(R.id.button);
這一行,
下面就是注冊一個監聽器,調用構造器View.OnClickListener,之后重寫onclick,在后面括號里寫自己的邏輯?
返回button實例后就是一個向下轉型的過程,就是(Button)findViewById(R.id.button);,等號后半段
大體概括是:先取名字,之后獲得ID向下轉型返回實例,之后注冊監聽器,重寫方法,寫自己的跳轉邏輯?
關于討論以及咨詢交流匯總
setOnClickListener
GSX:
mButton.setOnClickListener(new View.OnClickListener(){
//注冊監聽器,調用View.OnClickListener構造器
XY:這不是個類,是個接口
還有的問題在"銜接的問題"
問題:Java中,類使用new就可以當對象使用,所以這里的setOnClickListener是匿名內部類,或者是接口?
GSX:PH說new View.OnClickListener是對象,教程里說里面傳入set這個是對象,類變成new不就是當對象使用了,所以等于是對象,new 后面調用構造器,可是XY說set是接口不是構造器,而且我還沒到調用接口這一個步驟
XY:應該不是構造器,因為回調函數是一個對象而不是實現的方法
new View.OnClickListener
GSX:new不是定義構造器么?
PH:是對象
XY:接口的new不能是構造方法吧?
問題1:View.OnClickListener是對象,之前說new是引用構造器,new的前面setOnClickListener使用new就可以編程對象使用,對象傳入對象?
問題2:new不應該是調用構造器,教程里寫的是對象?是不是View.OnClickListener不是構造器?
OnClick()
GSX:Listener之后都是點擊邏輯吧?
PH:OnClick()方法內是點擊邏輯
問題:toast僅僅是氣泡?在實際的開發應用中,這個應該也算是點擊之后的邏輯?因為教程中是可以進行實戰添加的,點擊之后可以出現
toast
GSX:以上代碼也可以單獨添加toast,還有使用接口的方式也可以實現toast,是不是有兩種方法?
PH:這個是寫在監聽器里的,所以是監聽器,點擊后的邏輯都是監聽器實現的,沒監聽器就不知道此按鈕是否被點擊…反正不用監聽器,toast做不出來,所以兩種方法是不存在的
問題:toast是寫在監聽器里的么?看教程中點擊事件可以根據這種代碼即可實現,還有一種方式就是增加switch語句和case中實現,下面的鏈接2有更多的實現方法……
如果說toast是寫在監聽器里的,那監聽器是不是包括了以下代碼:
mButton.setOnClickListener(new View.OnClickListener(){
@Override
public void OnClick(View view){
Toast.makeText(MainActivity.this.,"點擊了Toast",Toast.LENGTH_SHORT).show();
}
而不只只是含有以下這一行?
自定義button名稱.setOnClickListener(new View.OnClickListener(){
關于本段代碼
點擊事件
GSX:你們點擊事件用的是接口(使用switch語句),還是轉換實例向下轉型(即本代碼)?
XH:點擊事件不用接口用什么?
GTF:這個有很多重載的方式
問題:點擊事件,以上代碼可以作為點擊事件(綁定)方式之一,還是僅僅用于注冊監聽器?
因為鏈接1以及鏈接2中也有涉及使用接口進行點擊事件(即switch語句的方式)
關于使用接口的方式綁定事件
GSX:教程里還有一個方法就是使用接口點擊事件,使用的是switch語句,之后里面有toast,但是僅僅是現在的綁定方法也可以出先toast,但是有人說toast是寫在監聽器里的,邏輯是在onClick后的括號里面寫
PZ:看你怎么設計,都可以實現,一般switch里越簡單越好
GSX:Android點擊事件都是需要接口的?
PZ:不是必須的,看你怎么設計,多看看設計模式
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的android按钮点击toast,关于button点击事件中setOnClick等元素的解读以及方法?以及toast的位置以及作用?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android message 代码,A
- 下一篇: theme editor android