編輯:關於Android編程
onclick事件的定義方法,分為三種,分別為在xml中進行指定方法;在Actitivy中new出一個OnClickListenner();實現OnClickListener接口三種方式。
代碼分別如下:
1. xml指定onclick事件,這種方式比較適用於指定的button,能使java代碼相對簡化一些:
xml文件中:
<span ><Button android:text="Button03" android:id="@+id/Button03" android:layout_width="wrap_content" android:layout_height="wrap_content" <span >android:onClick="</span><span >Btn3OnClick</span><span >"</span>> </Button> </span>
紅色部分指定響應的方法名!
Activity中定義方法:
public void Btn3OnClick(View view){
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
}
2. 在onCreate方法中為button指定綁定操作,以下方法中,xml裡如果同時指定了事件的執行方法,則優先執行xml中的內容。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.Button03).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
}
});
}
此種方式會使代碼看上去比較直觀,但是效率不高,特別是寫在listView的適配器中getView時,new出多個對象,占用資源。優化版的寫法如下,將點擊對象提出來如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.Button03).setOnClickListener(onclick);
}
OnClickListener onclick = new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
}
};
3. 實現OnClickListener接口,這種方式使用量比較多,能解決同一個activity中所有的onclick問題。
public class mainActivity extends Activity implements OnClickListener{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.Button02).setOnClickListener(this);
findViewById(R.id.Button03).setOnClickListener(this);
}
public void onClick(View view) {
switch (v.getId()) {
case R.id.Button03:
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
break;
case R.id.Button02:
Intent intent = new Intent(mainActivity.this, loginActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
break;
default:
break;
}
}
……
}
這三種方式都能實現點擊事件的處理,可根據使用環境,分析哪種比較適合!
淺談輔助功能 AccessibilityService
輔助功能定義對於那些由於視力、聽力或其它身體原因導致不能方便使用Android智能手機的用戶,Android提供了Accessibility功能和服務幫助這些用戶更加簡單
Android文本排版實現
在項目中有一個小功能需要實現,就是對多行文本進行排版布局,每一行的內容又分為兩部分,左邊為標題,右邊為描述,左邊內容長度不確定,右邊的內容需要對齊,如有換行也需要對齊右邊
Android官方開發文檔之從Eclipse遷移到Android Studio開發篇
1、前言從Eclipse遷移項目到Android Studio需要適應一個新的項目結構,建立系統和IDE的功能。為了簡化遷移過程,Android Studio提供了重要工
Android學習路線(二十二)運用Fragment構建動態UI——構建一個靈活的UI
先占個位置,下次翻譯 :p When designing your application to support a wide range of screen si