android綁定事件
Ⅰ 如何綁定android點擊事件
綁定android點擊事件需要在該空間添加android:onClick="click"屬性(click是為事件的方法),具體操作步驟如下:
1、使用Android studio創建一個Android項目,如下圖:
Ⅱ 如何綁定android點擊事件
Android開發:Android控制項如何綁定監聽事件
本篇以Button控制項綁定點擊事件舉例,歡迎大家留言交流
工具/原料
eclipse
android adt
方法/步驟
新建一個android工程,找到工程下res->layout->activity_main.xml文件並打開
從左側工具欄,拖入button到界面上,button默認id為button1
1、在Activity中給button綁定監聽事件(setOnClickListener),代碼如下:
//button綁定監聽事件
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder build = new Builder(MainActivity.this);
build.setMessage("Test").show();
}
});
2、直接在layout.xml中綁定onclick事件;
同時添加對應的監聽事件處理函數
public void Test(View v){
AlertDialog.Builder build = new Builder(this);
build.setMessage("Test").show();
}
運行程序,在模擬器/真機中查看效果
點擊button,彈出Test提示框,說明事件綁定成功
Ⅲ 如何綁定android點擊事件
綁定android點擊事件需要在該空間添加android:onClick="click"屬性(click是為事件的方法),具體操作步驟如下:
1、使用Android studio創建一個Android項目,如下圖:
2、打開其XML布局文件,如下圖:
3、添加一個Button並給android:onClick="click"屬性和寬高屬性,如下圖:
4、在綁定了該XML布局的類中實現該方法,這個方法命名必須和click,這個方法就是該控制項的點擊事件,如下圖:
Ⅳ android中怎樣給兩個按鈕添加事件
1. 在res/layout中的activity_main.xml添加一個按鈕,命名為button1。
2. 在MainActivity.java中添加按鈕事件綁定:
View btn1 = this.findViewById(R.id.button1);
btn1.setOnClickListener(new ButtonClickListener());
3. 重寫ButtonClickListener函數:
private class ButtonClickListener implements View.OnClickListener{
public void onClick(View v) {
if(R.id.button1 == v.getId())
{
MediaPlayer mediaPlayer01;
mediaPlayer01 = MediaPlayer.create(getBaseContext(), R.raw.ring);
mediaPlayer01.start();
}
}
}
Ⅳ 如何綁定android點擊事件
在Android中為組件綁定點擊事件的方式可以分為四種,
1、 在xml布局文件中,定義onclick的方式
<!—第一步在XML文件中給對應組件添加Onclick屬性-->
<Button
android:id="@+id/submitbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:onClick="buttonClickHandle"
android:layout_alignParentTop="true"
android:text="提交" />
//第二步在對應的Activity中創建一個與onClick屬性值相同的方法,並傳入一個View參數,當Button被點擊時就會回調這個方法。
public void buttonClickHandle(View view) {
Snackbar.make(coordinatorLayout, "你點擊了Button", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
另外三種綁定點擊事件的方式實際上就是通過組件調用setOnClickListener()的方法,下面我們就來看一下這個方法的源碼。
/**
* Register a callback to be invoked when this view is clicked. If this view is not
* clickable, it becomes clickable.
*
* @param l The callback that will run
*
* @see #setClickable(boolean)
*/
public void setOnClickListener(@Nullable OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
根據源碼我們可以看到這個方法中需要一個OnClickListener的對象。下面我們就來看看這個OnClickListener對象是個什麼東東。
/**
* Interface definition for a callback to be invoked when a view is clicked.
*/
public interface OnClickListener {
/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
void onClick(View v);
}
根據源碼我們可以看到實際上這個OnClickListener就是一個介面,這個介面中有一個onClick的抽象方法。所以我們在創建這個OnClickListener對象是還需要實現這個抽象方法。這個onClick的抽象方法實際上就是當我們點擊按鈕後會回調的方法。我們對於點擊事件的響應處理就在這個方法中進行。
現在我們已經了解了設置點擊事件的setOnClickListener方法,根據我們如何創建這個方法中的OnClickListener對象,我們設置點擊事件的方式可以分為如下三種:
1、內部類的形式
a. package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
// 獲取button對象
Button button = (Button) findViewById(R.id.submitbutton);
//創建內部類的實例
MyListener myListener = new MyListener();
//設置button的點擊事件,將實現OnClickListener介面的內部類實例傳入到setOnClickListener方法中
button.setOnClickListener(myListener);
}
//創建一個內部類實現View.OnClickListener介面,並實現其onClick方法
private class MyListener implements View.OnClickListener {
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你點擊了Button", Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
}
}
2、 匿名內部類的方式
package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
//獲取Button對象
Button button = (Button) findViewById(R.id.submitbutton);
//以創建一個View.OnClickListener的匿名內部類,並實現它的onClick方法
button.setOnClickListener(new View.OnClickListener() {
//在onClick方法中我們就可以設置button的響應代碼了
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你點擊了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
}
3、 讓主類實現OnClickListener介面,然後再主類實現未實現的方法
package com.example.hsport.catalog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private CoordinatorLayout coordinatorLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
//獲取Button對象
Button button = (Button) findViewById(R.id.submitbutton);
//因為我們讓MainActivity實現了View.OnClickListener這個介面,所以setOnClickListener方法中的參數直接傳入this即可。
button.setOnClickListener(this);
}
//因為MainActivity實現了View.OnClickListener介面,所以在MainActivity中還有要實現該介面中改的onClick方法來處理點擊事件。
@Override
public void onClick(View v) {
Snackbar.make(coordinatorLayout, "你點擊了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
}
關於如何給組件綁定點擊事件,是Android中的基礎知識,如果你還想更加詳細的了解,推薦你可以去一個叫做秒秒學的教程網站看看,夯實下基礎。
Ⅵ 如何綁定android點擊事件
綁定Android點擊事件有三種方式:
一、匿名內部類
1、通過資源ID找到對應的Android控制項,比如R.id.button1
Button button1 = (Button)findViewById(R.id.button1);
2、調用setOnClickListener方法,將點擊事件與之綁定
button1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
//這里放點擊事件的邏輯
}
});
二、XML申明式
1、在對應的布局文件中添加一個按鈕,即Button
2、在Button中添加 onClick="foo()" 屬性
3、在對應的Activity中編寫對應的foo()方法,如下:
public void foo(View v){
//這里放點擊事件的邏輯
//這里的 " v " 是指當前組件,就是你點擊的這個按鈕
}
三、統一處理式
1、使對應的Activity類實現View.OnClickListener 介面,也就是這樣寫:
public class xxActivity implement View.OnClickListener {
2、在方法中重載onClick(View v)方法
public void onClick(View v){
3、通過 v.getId() 來判斷,來源是哪一個按鈕,這里可以放一個switch開關語句,來進行邏輯的分工。
}
}
純手打,希望上文能對你起到一定的輔助作用。