方法如下
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!-- 定義Layout 第一個 Button ID為 Button_1--> <Button android:id="@+id/Layout_Button_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 1" /> <!-- 定義Layout 第二個 Button ID為 Button_2--> <Button android:id="@+id/Layout_Button_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 2" /> <!-- 定義Layout 第一個 TextView ID為 TextView_1--> <TextView android:id="@+id/Layout_TextView_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout> }MainActivity.java
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { //定義 Button 名稱為Button_1 與 Button_2 private Button Button_1,Button_2; //定義 TextView 名稱為TextView_1 private TextView TextView_1; //定義 OnClickListener ClickIntHere private OnClickListener ClickIntHere = new OnClickListener() { @Override //按下Button事件時會進入這個 function public void onClick(View v) { if(v.getId() == Button_1.getId()){ //判斷如果是 Button_1 按下時會進入這 //TextView_1 顯示 Click Button_1 TextView_1.setText("Click Button_1"); } else if(v.getId() == Button_2.getId()){ //判斷如果是 Button_2 按下時會進入這 //TextView_1 顯示 Click Button_2 TextView_1.setText("Click Button_2"); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設定讀取的layout為 activity_main.xml setContentView(R.layout.activity_main); //定義的 Button 與 TextView 對應到 Layout裡定義的物件I Button_1 = (Button)findViewById(R.id.Layout_Button_1); Button_2 = (Button)findViewById(R.id.Layout_Button_2); TextView_1 = (TextView)findViewById(R.id.Layout_TextView_1); //設定Button 聆聽 的物件 ClickIntHere Button_1.setOnClickListener(ClickIntHere); Button_2.setOnClickListener(ClickIntHere); } }
重點提醒:
1、import 時需注意 是否為 android.view.View.OnClickListener而不是 android.content.DialogInterface.OnClickListener。
2、onClick(View v) 是 OnClickListener 實作方法,它回傳的 View v 的意思是 它給予一個類型 View 的東西 名稱為 v,v名稱是可更改的。
沒有留言:
張貼留言