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判断
}
};