Day14 - Button外传

前3天已经学会了Button用法
以往我们处理按钮的点击事件
都是先抓到元件id,才去设定点击事件
有一次我在网路上学习时
突然发现还有另一种方法可以设定点击事件
并不困难,蛮简单的
今天就教大家那个方法八
Let's GO

开始

先来复习以往的抓元件後,新增点击事件

  • 前几篇方法
    先在布局新增一颗按钮,设定好想要的id
    https://ithelp.ithome.com.tw/upload/images/20210922/20141769uQNlDbEdAz.png

https://ithelp.ithome.com.tw/upload/images/20210922/20141769rD626nJkzc.png

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
        android:id="@+id/btn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="旧"/>
</LinearLayout>

抓Button元件後,新增点击事件setOnClickListener
用Log测试点击效果
https://ithelp.ithome.com.tw/upload/images/20210922/20141769Kc0qb16x6t.png

package com.example.hellow;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.util.Size;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn_1 = findViewById(R.id.btn_1);

        btn_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.v("btn","旧的");
           }
        });
    }
}

执行结果:
点击"旧"按钮
https://ithelp.ithome.com.tw/upload/images/20210922/201417699fRKP4ko0q.png


  • 另一种
    不变的拉一个按钮出来
    但这次我们不用设id
    但要到xml ->Code档Button元件新增android:onClick="btn"这行
    打完後这行底色会反黄,点击android:onClick="btn"这行,等黄色灯泡跑出来,点选灯泡候选第一个
    到Java档你会发现多了一串程序码
    之後只需要把Log写在那串里面就可以了
    https://ithelp.ithome.com.tw/upload/images/20210922/20141769rYog93rCgS.png
package com.example.hellow;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.util.Size;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void btn(View view) {
        Log.v("btn","另一种方式喔");
    }
}

执行结果:
点击"新"按钮
https://ithelp.ithome.com.tw/upload/images/20210922/20141769yiCOjgGjJu.png


你问我两种方式哪一种比较好?
我的答案是:你喜欢就好
/images/emoticon/emoticon39.gif


<<:  企划实现(10)

>>:  企划实现(10)

Day26 vue.js功能展示ep2之有"大麻"烦(cros跨域)

延续昨日 我们今天来完善功能测试 首先设一个runtest的function async runte...

[重构倒数第0天] - 铁人赛後记

铁人赛完赛 这30天可以说是让我非常忙碌而切让我一直把铁人赛挂在心上,每天就是在想今天要写什麽,这样...

Day29-用jQuery写得出ToDoList吗_4_单机版ToDoList没有问题!

这篇来说剩下的重要功能 先来写删除的部分 就叫做removeTodo吧 加在a连结上,一样需要回传t...

Day22 订单金流 -- log纪录

没错今天又是金流payment的额外扩充, 要讲的是log纪录,一样先上结构 Schema::cre...

自动化测试,让你上班拥有一杯咖啡的时间 | Day 11 - 如何合并测试报告

此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。 测试报告对於执行脚本後是很重要的,...