android 按钮点击的两种方法以及长按事件

点击事件一般分为三种
1.增加监听器
2.指定函数实现
首先我还是放上最先的xml文件代码
<? xml version= "1.0" encoding= "utf-8" ?>
< LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android"
android :orientation= "vertical"
android :weightSum= "10" //指定总权重
xmlns: tools = "http://schemas.android.com/tools"
android :id= "@+id/activity_main"
android :layout_width= "match_parent"
android :layout_height= "match_parent"
tools :context= "com.example.asus.ontouchevent.MainActivity" >
< Button
android :layout_height= "0dp"
android :layout_width= "match_parent"
android:layout_weight="3" <!--指定占有的权重-->
android:id="@+id/addlistener"<!--指定id-->
android :text= "增加监听函数" />

< Button
android :layout_height= "0dp"
android :layout_width= "match_parent"
android :layout_weight= "3"
android:id="@+id/method"<!--指定id-->
android:onClick="method" <!--指定实现方法-->
android :text= "用指定函数实现" />


</ LinearLayout >

接下来我将一一演示

1.通过增加监听器,然后利用Toast显示信息
接下来我将放上放在java文件里 第一个“MainActivity.java”的文件里的代码
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout. activity_main );
//这下面就是用来放增加监听函数的代码了 我用红色标志出来
Button addlistener =(Button)findViewById(R.id. addlistener );//这里的id就是刚才在xml文件里的id
addlistener.setOnClickListener( new Button.OnClickListener(){//这句就是增加了监听的按钮
public void onClick(View v){
Toast. makeText (MainActivity. this , "这里是利用增加监听的方法实现的" ,Toast. LENGTH_LONG ).show();//这里就是显示消息的代码
}
});
}
}


指定函数实现点击事件 (请原谅我在这里贴了和上面重复的代码,这里我也会将重点用红色标注出来)

package com.example.asus.ontouchevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout. activity_main );


//第一种 增加监听事件
Button addlistener =(Button)findViewById(R.id. addlistener );
addlistener.setOnClickListener( new Button.OnClickListener(){
public void onClick(View v){
Toast. makeText (MainActivity. this , "这里是利用增加监听的方法实现的" ,Toast. LENGTH_LONG ).show();
}
});}

//第2种 增加反应函数
public void method(View v){//特别说下这里的View v是必须的,请不要去除
Toast. makeText (MainActivity. this , "这里是利用指定方法实现的" ,Toast. LENGTH_LONG ).show();
}
}

接下来是附加的程序 增加长按按钮
同样的我将放上代码 并且标注为红色

package com.example.asus.ontouchevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout. activity_main );


//第一种 增加监听事件
Button addlistener =(Button)findViewById(R.id. addlistener );
addlistener.setOnClickListener( new Button.OnClickListener(){
public void onClick(View v){
Toast. makeText (MainActivity. this , "这里是利用增加监听的方法实现的" ,Toast. LENGTH_LONG ).show();
}
});
//附加的玩法
addlistener.setOnLongClickListener( new View.OnLongClickListener() { //其实就是增加了长按监听事件
@Override
public boolean onLongClick(View v) {
Toast. makeText (MainActivity. this , "这里是长按按钮" ,Toast. LENGTH_LONG ).show();
return false ;
}
});
}

//第2种 增加反应函数
public void method(View v){
Toast. makeText (MainActivity. this , "这里是利用指定方法实现的" ,Toast. LENGTH_LONG ).show();
}
}



发布了28 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_28738419/article/details/53744161