欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android的按钮点击事件

程序员文章站 2022-07-13 12:40:27
...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto"  
    android:layout_width="match_parent"  
  
    android:layout_height="match_parent"  
    android:orientation="vertical">  
  
    <TextView  
        android:id="@+id/textView"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:layout_gravity="center"  
        android:text="欢迎光临"  
        android:visibility="gone"/>  
  
    <Button  
        android:id="@+id/button_1"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:text="百度一下" />  
  
    <Button  
        android:id="@+id/button_before"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:text="上一页" />  

1、匿名内部类


  1.   /* 
  2.          * 1、初始化当前所需要的控件,如何初始化一个控件 
  3.          * findViewByid取到对应的button--返回的是一个view对象 
  4.          * findViewByid如何查找到对应view的id:gen目录R文件下自动生成每个控件的id R.id.button1 
  5.          *  
  6.          * 2、设置Button的监听器,通过监听器实现我们点击button要操作的事情 
  7.          */  
button_next = (Button)findViewById(R.id.button_next); button_next.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent("com.example.my.ACTION_START"); intent.addCategory("com.example.my.MY_CATEGORY"); startActivity(intent); } });

2、通过接口实现,一般用于控件较多的情况,通过switch语句,使不同的按钮响应不同方式

package com.example.hp.my;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainAc extends AppCompatActivity implements View.OnClickListener {
    private TextView tv_text;
    private Button button_next;
    private Button button_before;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tv_text = (TextView) findViewById(R.id.textView);
        button_next = (Button) findViewById(R.id.button_next);
        button_before = (Button) findViewById(R.id.button_before);
        
        button_before.setOnClickListener(this);
        button_next.setOnClickListener(this);
}

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button_before:
                tv_text.setText("hello");
                tv_text.setVisibility(View.VISIBLE);
                break;
            case R.id.button_next:
                Intent intent = new Intent("com.example.my.ACTION_START");
                intent.addCategory("com.example.my.MY_CATEGORY");
                startActivity(intent);
                break;
        }

    }
}

3、在xml中指定方法

<Button
    android:onClick="find"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="我是按钮"
    />
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
public void find(View view){

    Toast.makeText(this, "点击按钮事件", Toast.LENGTH_SHORT).show();

}

参考点击打开链接