編輯:關於android開發
Button點擊事件:大概可以分為以下幾種:
首先我們簡單地定義一個帶Button的xml布局文件
activity_main.xml:
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="點擊事件" />
然後再寫Java代碼
MainActivity.java:
1.匿名內部類
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt1);
//1.匿名內部類
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("匿名內部類", "點擊事件");
}
});
}
2.定義內部類,實現OnClickListener接口
public class MainActivity extends Activity{
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt);
bt.setOnClickListener(new MyListener());
}
//定義內部類,實現OnClickListene接口
class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("定義內部類,實現OnClickListene接口", "點擊事件");
}
}
}
3.定義的構造方法
public class MainActivity extends Activity{
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt);
myListener();
}
//定義構造方法
private void myListener() {
// TODO Auto-generated method stub
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("定義構造方法", "點擊事件");
}
});
}
}
4.用Activity實現OnClickListener接口
public class MainActivity extends Activity implements OnClickListener {
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt);
bt.setOnClickListener(this);
}
//用Activity實現OnClickListener接口
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("用Activity實現OnClickListener接口", "點擊事件");
}
}
5.指定Button的onClick的屬性:
先在layout文件中指定onClick屬性,然後到Activity中實現這個onButtonClick方法
布局文件:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="點擊事件" />
Java代碼:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//5指定onClick屬性方式
public void click(View v) {
// TODO Auto-generated method stub
Log.i("指定onClick屬性方式","點擊事件");
}
}
另外,多個按鈕點擊的話,也可以指定onClick屬性方式,獲取其資源id。通過其資源id,可以判斷用戶點擊了哪個按鈕了。
布局文件:
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="點擊事件1" />
<Button
android:id="@+id/bt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="點擊事件2" />
<Button
android:id="@+id/bt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="點擊事件3" />/>
<Button
android:id="@+id/bt4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="點擊事件4" />
Java代碼:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//指定onClick屬性方式
//傳人的View對象,就是用戶按下的那個按鈕對象
public void click(View v) {
// TODO Auto-generated method stub
//獲取組件的資源id
int id = v.getId();
switch (id) {
case R.id.bt1:
Log.i("指定onClick屬性方式","bt1點擊事件");
break;
case R.id.bt2:
Log.i("指定onClick屬性方式","bt2點擊事件");
break;
case R.id.bt3:
Log.i("指定onClick屬性方式","bt3點擊事件");
break;
case R.id.bt4:
Log.i("指定onClick屬性方式","bt4點擊事件");
break;
default:
break;
}
}
}
效果如圖:


Android提高21篇之十四:探秘TelephonyManager
上次介紹了如何使用JAVA的反射機制來調用藍牙的隱藏API,這次繼續練習JAVA的反射機制,探秘T
Android 高仿華為手機Tab頁滑動導航效果
Android 高仿華為手機Tab頁滑動導航效果 首先帶大家看一下實現效果,用了兩種實現方式: 1.基於LinearLayout實現,導航欄不可響應手指滑動 2.基於Ho
AIDL
AIDL 官網地址詳解分析: http://developer.android.com/guide/components/aidl.html 一)什麼是A
Android實戰技巧之四十六:用patch更新Android Studio
Android實戰技巧之四十六:用patch更新Android Studio 公司機器上的Android Studio很時髦,每次都會准時接收到官方穩定版的推送。目前最新
Android 主頁面頂部欄的通知Notification ,可以自定義通知消息欄的風格,並且點擊通知欄進人本程序。,android自定義消息欄
Android 主頁面頂部欄的通知Notification ,可以自定義