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