問題描述
我在android中開始了一點程序,我在一個活動中有 3 個按鈕.
I started program little bit in android, I have 3 buttons in a single activity.
我看到一些示例代碼將相同的 OnClick
事件分配給所有按鈕(即使它們執行完全不同的操作)并且在方法 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...
什么是更好的方法?一個onClick
方法和切換還是很多方法,每個按鈕一個?
What is the better approach? one onClick
method and switching or a lot of methods, one for each button?
謝謝.
推薦答案
如果你想減少代碼行數那么使用 View 的 OnClick() 和 switch 語句
如果你想單獨處理所有點擊(便于理解和維護代碼)然后使用單獨的所有按鈕的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 中實現該方法.現在你有一個所有按鈕的方法,并在該方法中區分具有 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>
現在在您的 Activity 中實現 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;
}
}
或者您可以為活動中動態添加的按鈕應用相同的開關盒,像 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
.
這篇關于Android 一個用于多個按鈕的 OnClick 方法?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!