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

来源:互联网 发布:mac照片找不到 编辑:程序博客网 时间:2024/06/05 07:37
点击事件一般分为三种
1.增加监听器
2.指定函数实现
首先我还是放上最先的xml文件代码
<?xml version="1.0"encoding="utf-8"?>
<LinearLayoutxmlns: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 classMainActivityextendsAppCompatActivity {

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


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

packagecom.example.asus.ontouchevent;

importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.Toast;

public classMainActivityextendsActivity {

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


//第一种 增加监听事件
Button addlistener =(Button)findViewById(R.id.addlistener);
addlistener.setOnClickListener(newButton.OnClickListener(){
public voidonClick(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();
}
}

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

packagecom.example.asus.ontouchevent;

importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.Toast;

public classMainActivityextendsActivity {

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


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

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



0 0