方法如下
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名稱是可更改的。
沒有留言:
張貼留言