android自定義監聽
A. android中怎麼監聽自定義對話框中的button按鈕
和正常的button一樣,你在自定義的Mydialog中,肯定是嵌套了自己寫的布局,如下
LayoutInflater in = LayoutInflater.from(context);
View temp = in.inflate(R.layout.mydialog, null);
ok = (Button)temp.findViewById(R.id.button_moledialog_ok);
這樣就找到這個自定義布局中的ok按鈕了,然後就
ok.setOnClickListener(){。。。。}就行了
B. Android自定義preference布局文件中的控制項怎麼添加點擊監聽事件
沒記錯的話,是可以定義android:onclick屬性的。在代碼里添加相應的方法就行了,注意該監聽方法必須是public的。
C. 如何在Android的service里進行按鍵的監聽
app中對於HOME鍵廣播事件的接收
首先,自定義一個BroadcastReceiver:
[java] view plain
class HomeKeyEventBroadCastReceiver extends BroadcastReceiver {
static final String SYSTEM_REASON = "reason";
static final String SYSTEM_HOME_KEY = "homekey";//home key
static final String SYSTEM_RECENT_APPS = "recentapps";//long home key
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
String reason = intent.getStringExtra(SYSTEM_REASON);
if (reason != null) {
if (reason.equals(SYSTEM_HOME_KEY)) {
// home key處理點
} else if (reason.equals(SYSTEM_RECENT_APPS)) {
// long home key處理點
}
}
}
}
}
其次,生成且注冊之
[java] view plain
receiver = new HomeKeyEventBroadCastReceiver();
registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
這樣,我們就可以在app中進行HOME鍵的處理了!
D. android ,自定義了一個imageView,在主程序中想為每一個imageView添加事件監聽,但是很麻煩,該怎麼辦
既然是自定義的imageView,你可以直接實現onClickListener啊。
在ImageView創建時,就直接setOnClickListener(this),然後實現OnClickListener不就行了?
E. android dialog自定義按鈕如何設監聽事件
利用回調方法,在調用處,進行Dialog中各按鈕的事件處理。
view plain
package com.demo;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class LeaveMeetingDialog extends Dialog implements OnClickListener{
private Button quitBtn,stopBtn,cancelBtn;
private LeaveMeetingDialogListener listener;
public interface LeaveMeetingDialogListener{
public void onClick(View view);
}
public LeaveMeetingDialog(Context context,int theme,LeaveMeetingDialogListener listener) {
super(context,theme);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.leave_meeting_dialog);
initViews();
}
private void initViews(){
quitBtn = (Button)findViewById(R.id.quit_btn);
stopBtn = (Button)findViewById(R.id.stop_btn);
cancelBtn = (Button)findViewById(R.id.cancel_btn);
quitBtn.setOnClickListener(this);
stopBtn.setOnClickListener(this);
cancelBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
listener.onClick(v);
}
}
---調用處:
[java]
LeaveMeetingDialog dialog = new LeaveMeetingDialog(this,R.style.Theme_CustomDialog,
new LeaveMeetingDialogListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.quit_btn:break;
case R.id.stop_btn:break;
case R.id.cancel_btn:break;
}
}
});
dialog.show();
F. android 自定義view怎麼寫監聽
Android設置按鈕監聽,方法如下:
方法1:在xml布局文件中配置onClick屬性,例如:android:onClick="onBtnClick",在對應的Activity中加入如下代碼:
public void onBtnClick(View view) {
switch (view.getId()) {
//若有多個按鈕的onClick都為onBtnClick,則可以通過id判斷
}
}
方法2:在Activity中使用findViewById後setOnClickListener,該類必須實現View.OnClickListener接
public class TestActivity extends Activity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
findViewById(R.id.button).setOnClickListener(this);
}
@Override
public void onClick(View v) {
//在這里處理id為R.id.button的點擊事件,多個按鈕可以通過id判斷
}
}
方法3:實例化一個OnClickListener
public class TestActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
findViewById(R.id.button).setOnClickListener(onClickListener);
}
View.OnClickListener onClickListener=new View.OnClickListener() {
@Override
public void onClick(View v) {
//在這里處理id為R.id.button的點擊事件,多個按鈕可以通過id判斷
}
};