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開關語句,來進行邏輯的分工。
}
}
純手打,希望上文能對你起到一定的輔助作用。
Ⅱ 如何在android界面點擊增加按鈕
如何在android界面點擊增加按鈕
首先:
建立要跳轉的Activity,並在清單文件注冊。這里假設注冊的活動為NextActivity
其次
布局(例如main,xml):加個Button,並加上id,如button1
代碼里:
首先聲明Button的變數:private Button bn;(聲明在OnCreat方法外面)
然後綁定:bn=(Button)findViewById(R.id.button1);
然後弄一個監聽,實現匿名內部類
bn.setOnClickListener(new Button.OnClickListener(){//創建監聽
public void onClick(View v) {
Intent inten=new Intent(MainActivity.this,NextActicity.class);
startActivity(intent);
}
});
當然 如果你嫌匿名內部類太麻煩,也可以在按鈕中寫一個android:onClick="onclick"事件來實現
代碼里加
public void onclick(View v){
Intent inten=new Intent(MainActivity.this,NextActicity.class);
startActivity(intent);
}
這樣也行
Ⅲ Android中Eclipse怎樣創建按鈕Button點擊事件
Android中設置Button點擊監聽方法如下:
方法一、
java">ButtonBtn1=(Button)findViewById(R.id.button1);
Btn1.setOnClickListener(newButton.OnClickListener(){
publicvoidonClick(Viewv){
//點擊了Btn1
}
});
方法二、
ButtonBtn2=(Button)findViewById(R.id.button2);
Btn2.setOnClickListener(listener);
Button.OnClickListenerlistener=newButton.OnClickListener(){//創建監聽對象
publicvoidonClick(Viewv){
//點擊了Btn2
}
};
方法三、
publicvoidBtn3OnClick(Viewview){
//點擊了Btn23
}
//需要在layout布局對應Button中添加android:onClick="Btn3OnClick",Btn3OnClick可自行命名
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3"
android:onClick="Btn3OnClick"/>
Ⅳ android 怎麼樣讓按鈕自動執行點擊事件
你向按鈕發WM_COMMAND吧
或者用mouse_event模擬滑鼠點擊
*...看錯...原來是Android...樓主請無視我的回復...
Ⅳ android 中怎樣給按鈕添加點擊事件
xml文件代碼如下:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2" />
四種方法分述如下:
匿名內部類:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
}
});
}
}
自定義單擊事件監聽類:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
class MyClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new MyClickListener());
btn2.setOnClickListener(new MyClickListener());
}
}
Activity繼承View.OnClickListener,由Activity實現OnClick(View view)方法,在OnClick(View view)方法中用switch-case對不同id代表的button進行相應的處理
public class TestButtonActivity extends Activity implements OnClickListener {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
最後一種是我今天看到的一種寫法,在XML文件中「顯示指定按鈕的onClick屬性,這樣點擊按鈕時會利用反射的方式調用對應Activity中的click()方法」
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button2" />
這里在輸完android:的時候按下 Alt+/ 會有 onClick 屬性的提示, 但輸入到 android:onClick=「 的地方按下 Alt+/ 並沒有提示 onClick 選項,讓我突然覺得這里好像有點問題。
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
}
// 注意 這里沒有 @Override 標簽
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
這種寫法整個代碼中都不用聲明button就可以實現button的單擊事件。
以上就是四種實現按鈕單擊事件的方法。
粗略總結一下,就是按鈕少的時候用匿名內部類會比較快,比如寫demo測試的時候或者登陸界面之類的。
按鈕多的情況我還是選擇第三種方法,方便。
關於第四種方法,我感覺最方便,但看了很多代碼還是覺得寫法不夠大眾化,感興趣的朋友可以對此研究研究。相信會有不少收獲。