問題描述
我在android中開始了一點(diǎn)程序,我在一個(gè)活動(dòng)中有 3 個(gè)按鈕.
I started program little bit in android, I have 3 buttons in a single activity.
我看到一些示例代碼將相同的 OnClick
事件分配給所有按鈕(即使它們執(zhí)行完全不同的操作)并且在方法 Switch(id)
的情況下案例案例...
I saw some example codes that assign the same OnClick
event to all the buttons (even if they perform completely different action) and in the method Switch(id)
case case case...
什么是更好的方法?一個(gè)onClick
方法和切換還是很多方法,每個(gè)按鈕一個(gè)?
What is the better approach? one onClick
method and switching or a lot of methods, one for each button?
謝謝.
推薦答案
如果你想減少代碼行數(shù)那么使用 View 的 OnClick() 和 switch 語句
如果你想單獨(dú)處理所有點(diǎn)擊(便于理解和維護(hù)代碼)然后使用單獨(dú)的所有按鈕的onClick().
If you want to reduce the coding lines then use View's OnClick() with switch statement
and if you want to handle separately all click (for easily understanding and maintaining code) then use separate all button's onClick().
更新:
如果您在 Activity 布局 xml 文件中聲明了按鈕,則為所有按鈕編寫具有相同方法名稱的屬性 android:onClick=""
并在您的 Activity 中實(shí)現(xiàn)該方法.現(xiàn)在你有一個(gè)所有按鈕的方法,并在該方法中區(qū)分具有 id 的按鈕.
If you have declared Buttons in your Activity layout xml file, than write attribute android:onClick=""
with same method name for all buttons and implement that method in your activity. Now you have one method for all buttons and in that method differentiate buttons with id.
示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button android:id="@+id/button1"
android:layout_width="wrap_content"
android:onClick="buttonOnClick"
android:layout_height="wrap_content"
android:text="Hello, I am a Button 1" />
<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:onClick="buttonOnClick"
android:layout_height="wrap_content"
android:text="Hello, I am a Button 2" />
<Button android:id="@+id/button3"
android:layout_width="wrap_content"
android:onClick="buttonOnClick"
android:layout_height="wrap_content"
android:text="Hello, I am a Button 3" />
</LinearLayout>
現(xiàn)在在您的 Activity 中實(shí)現(xiàn) buttonOnClick
之類的,
Now in your Activity implement buttonOnClick
like,
public void buttonOnClick(View view)
{
switch(view.getId())
{
case R.id.button1:
// Code for button 1 click
break;
case R.id.button2:
// Code for button 2 click
break;
case R.id.button3:
// Code for button 3 click
break;
}
}
或者您可以為活動(dòng)中動(dòng)態(tài)添加的按鈕應(yīng)用相同的開關(guān)盒,像 buttonOnClick
你必須使用 implemented View 的 OnClickListerner's onClick
.
Or you can apply same switch case for dynamically added buttons in your activity,
like instead of buttonOnClick
you have to use implemented View's OnClickListerner's onClick
.
這篇關(guān)于Android 一個(gè)用于多個(gè)按鈕的 OnClick 方法?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!