導航:首頁 > 操作系統 > android按鈕onclick

android按鈕onclick

發布時間:2022-05-10 13:31:00

android按鈕onclick事件是不是只能重寫一次我每個按鈕都重寫一次好像立馬死機,不可以嗎新手勿噴謝謝

不是只能重寫一次的,因為你的setcontentview不在oncreate裡面,你學過生命周期吧,你在自定義的方法里,這樣是無法刷新布局的,這樣寫是不對的
另外死機是啥回事,寫代碼還會死機?
你要實現按下按鈕切換布局的話,要在oncreate裡面寫才可以

❷ android按鈕監聽器OnClick()的參數問題

包導錯了,onclickListener是有同名的,你實現的dialogInterface的,不是view的
你把import android.content.DialogInterface.OnClickListener
替換為 import android.view.View.OnClickListener

❸ android開發如何實現onclickListener或navigationview按鈕點擊事件當用戶按一次按鈕相當於按兩次按鈕

可以通過時間間隔控制不讓用戶頻繁點擊。
1、定義一個變數,記錄上一次單擊的時間

❹ android中注冊一個按鈕的onclicklistener監聽事件和直接用onclick方法(在xml中寫onClick),有什麼區別

沒有區別,如果你一定說有區別的話我可以這樣給你解釋。
其實一共有三種方式:
1.直接setOnClickListener.
如果你的activity中只有少量的三兩個按鈕 適合使用
2.implement OnClickListener 實現這個介面
這適合多個按鈕,比如計算器、虛擬鍵盤等 使用這個可以減少代碼量,直接根據按鈕的ID去添加事件
3. 在xml中寫onClick
這可以使你的代碼很清晰,你可以把所有的按鈕事件寫在一個文件裡面,想用的時候可以在xml文件里直接調用 使代碼看上去更有層次感。
三種方式各有利弊,根據情況選擇使用。

❺ android 重寫onClick()方法,總出錯!

1、注意實現的介面類的包路徑是View,別實現錯了

2、如果onClick不是自動生成,的注意返回值和參數是否和介面定義一致

3、onClick中的實現邏輯是否出錯。

正確示例:

java">Buttonbuttontest=(Button)findViewById(R.id.button1);//獲取一個button
buttontest.setOnClickListener(newView.OnClickListener(){//設置監聽,注意這里是View包下的
@Override
publicvoidonClick(Viewv){//包沒搞錯,onClick自動生成就不會出錯了。
//TODOAuto-generatedmethodstub
Log.i("TEST","buttononClick");
}
});

❻ android 在xml中onclick和setonclicklistener的區別

這兩個功能都一樣,只不過,<Button android:onClick="xxxx">這種形式,我一般是用在一個button在很多地方都用到的時候,比如界面左上角的一個返回按鈕,很多界面都需要,定義一個界面基類,裡面定義一個返回操作的方法,然後把這個button單獨寫在一個layout裡面,,用的時候直接把這個layout include到布局裡面就可以了,,,後面代碼形式注冊監聽,一般是在同一個類裡面有很多按鈕或者控制項需要添加OnClick事件,可以只定義一個OnClickListener,然後在裡面判斷是哪一個控制項,然後做對應的操作,,,

簡單的說前者是對於同一個按鈕,可以重復使用的不同的地方,,,,後者是在同一個地方對不同控制項的同一事件進行區分操作,,,我一般是這么用的,,,,

❼ android onclick是怎樣實現的

Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
TextView textview = (TextView)findViewById(R.id.textView1);
textview.setText("Button");
}
});

這種方式用findviewbyid通過id實例化出來這個button,然後通過設置button的listener監聽對象,並同時實現介面OnClickListenter的OnClick()方法。這種方式的代碼量不多,但是在java中,面向對象的思想,關於耦合,模塊化它達不到。代碼堆疊在一起,比較臃腫。

❽ android button按鈕返回什麼給onclick

Button.setOnClickListener(mGoBack);
public OnClickListener mGoBack = new OnClickListener() {

public void onClick(View v) {
finish();
}
};
要返回上一個activity,只需結束當前的activity

❾ 怎樣在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 中怎樣給按鈕添加點擊事件

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測試的時候或者登陸界面之類的。
按鈕多的情況我還是選擇第三種方法,方便。
關於第四種方法,我感覺最方便,但看了很多代碼還是覺得寫法不夠大眾化,感興趣的朋友可以對此研究研究。相信會有不少收獲。

閱讀全文

與android按鈕onclick相關的資料

熱點內容
c語言中的排序演算法 瀏覽:596
php原生鏈接資料庫 瀏覽:44
web前端後端程序員 瀏覽:24
萬能zip的壓縮包怎麼解壓 瀏覽:40
國內動漫用什麼app看 瀏覽:353
樹莓派高級編程 瀏覽:928
30歲學編程晚嗎 瀏覽:68
解壓專家怎麼打開 瀏覽:86
php開源留言板 瀏覽:49
新鄉市區疫情怎麼查詢app 瀏覽:158
我的世界伺服器怎麼弄圖 瀏覽:999
vc6的編譯框 瀏覽:198
程序員寫照 瀏覽:539
怎麼退出github伺服器版本 瀏覽:797
雲伺服器sip 瀏覽:910
對稱平衡型壓縮機 瀏覽:953
rust連接什麼伺服器 瀏覽:382
php刪除數組的空元素 瀏覽:74
有什麼古今翻譯的app 瀏覽:54
華為平板里的app熱門推薦怎麼關閉 瀏覽:731