当前位置:首页 » 安卓系统 » android监听器

android监听器

发布时间: 2022-11-21 15:28:47

① android按钮监听器OnClick()的参数问题

包导错了,onclickListener是有同名的,你实现的dialogInterface的,不是view的
你把import android.content.DialogInterface.OnClickListener
替换为 import android.view.View.OnClickListener

② android多个按钮绑定同一个监听器

可以用一个监听器(Listener)来实现多个按钮的onClick监听,下面是一个具体的例子:

③ 关于Android chronometer 监听器的使用问题

使用Service。给你一个demo:

需要开始定时任务的时候调RegistryBeeper方法,停止的时候调UnregistryBeeper。代码来自“静音达人”,可以去网络应用搜索下载,体验一下:)

-------------------------------------------
/**
* 执行切换情景模式的消息接收器
*
* @author ValentineNing
*
*/
public class TimerBasedActivator {

/**
* 注册定时器的组件
*/
private static AlarmManager s_AlarmMgr;

/**
* 发送给SmartProfileBeepReceiver的消息
*/
private static PendingIntent s_SmartProfileBeeperIntent;

/**

* 异步注册到定时任务
*
* @param context
* 执行注册的上下文
*/
public static void BeginRegistryBeeper(final Context context) {
Thread th = new Thread(new Runnable() {

public void run() {
RegistryBeeper(context);
}
});

th.start();
}

/**
* 注册定时任务
*
* @param context
* 执行注册的上下文
*/
public static void RegistryBeeper(Context context) {

ILog logger = new ExternalStorageLogger(context);

logger.Log("[TBA] 开始注册定时任务");

// 准备参数
s_AlarmMgr = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Intent intent2 = new Intent(context, TimerBoardcastReciever.class);
s_SmartProfileBeeperIntent = PendingIntent.getBroadcast(context, 0,
intent2, PendingIntent.FLAG_UPDATE_CURRENT);

// 添加前先尝试注销
s_AlarmMgr.cancel(s_SmartProfileBeeperIntent);

// 注册Beeper(延迟5秒后开始工作,然后每5分钟执行一次)
s_AlarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance()
.getTimeInMillis() + 5 * 1000, 1000 * 60 * 5,
s_SmartProfileBeeperIntent);

logger.Log("[TBA] 定时任务注册完成");
}

/**
* 取消定时任务
*
* @param context
* 执行注册的上下文
*/
public static void UnregistryBeeper(Context context){

if(s_AlarmMgr!=null){

ILog logger = new ExternalStorageLogger(context);

logger.Log("[TBA] 开始注销定时任务");

Intent intent2 = new Intent(context, TimerBoardcastReciever.class);
s_SmartProfileBeeperIntent = PendingIntent.getBroadcast(context, 0,
intent2, PendingIntent.FLAG_UPDATE_CURRENT);

// 注销定时任务
s_AlarmMgr.cancel(s_SmartProfileBeeperIntent);

logger.Log("[TBA] 定时任务注销完成");
}
}

/**
* 定时任务通知的接收器
*
* @author valentine
*
*/
public class TimerBoardcastReciever extends BroadcastReceiver{

@Override
public void onReceive(Context arg0, Intent arg1) {

ILog logger = new ExternalStorageLogger(arg0);

logger.Log("[TBR] 开始检查是否需要切换情景模式");

PhoneProfileSwitcher.Check(arg0);

logger.Log("[TBR] 情景模式切换完毕,准备更新任务栏图标");

MiscHelpers.RefreshNotifycation(arg0);

logger.Log("[TBR] 任务栏图标更新完毕");

}

}

}

④ android中多个按钮用一个监听器监听怎么写,求具体的代码,谢谢。

1、先申明一个监听对象
2、不同按钮设置同一个监听对象
3、监听中,通过按钮的id判断是哪个按钮的点击事件
代码如下
1、new监听
OnClickListener clickListener = new OnClickListener(){
@Override
public void onClick(View v) {
if (v.getId()==R.id.button1){//按钮1
}else if(v.getId()==R.id.button2}{//按钮2
}
}
2、设置监听
Button btn1 = (Button)findViewById(R.id.button1);
Button btn2 = (Button)findViewById(R.id.button1);
btn1.setOnClickListener(clickListener);
btn2.setOnClickListener(clickListener);

⑤ android onclick是怎样实现的

Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
TextView textview = (TextView)findViewById(R.id.textView1);
textview.setText("Button");
}
});

这种方式用findviewbyid通过id实例化出来这个button,然后通过设置button的listener监听对象,并同时实现接口OnClickListenter的OnClick()方法。这种方式的代码量不多,但是在java中,面向对象的思想,关于耦合,模块化它达不到。代码堆叠在一起,比较臃肿。

⑥ 如何在android studio里设置点击监听事件

Androidstudio 添加点击监听事件有三种方法:

一.匿名内部类

1.先找到那个控件(初始化)

private Button bt1; //onCreate方法外

bt1 = (Button)findViewById(R.id.button1);

2.设置事件监听器

bt1.setOnClickListener(new OnClickListener(){

public void onClick(View v){

System.out.println("我的按钮被点击了");

}

});

(6)android监听器扩展阅读:

如果按钮绑了监听器

按钮点击是通过OnClickListener来实现的

大致的流程应该是这样的

public class MainActivity extends Activity

{

private Button loginButton;

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//创建监听器对象

loginButton = (Button) findViewById(R.id.login_btn);

OnClickListener listener = new ButtonClickListener();

loginButton.setOnClickListener(listener);

}

/**
* 监听器类

*/

class ButtonClickListener implements OnClickListener

{

@Override

public void onClick(View v)

{

switch (v.getId())

{

case R.id.login_btn:

//点击后的逻辑处理

break;

}

}

}

⑦ Android中的FileObserver

android.os包下面的FileObserver是一个用于监听文件访问创建修改删除移动等操作的监听器,基于Linux的INotfy
FileObserver是个抽象类,必须要继承它才能使用,每个 FileObserver 监听一个单独的文件或者文件夹,如果监听的是一个文件夹,那么文件夹下所有文件或者级联子目录的改变都会触发监听事件。

FileObserver对象必须保持一个引用,确保不被垃圾回收器回收掉,否则就不会触发事件,这里可以考虑使用Service服务。

⑧ android中,写监听器时老是出现以下情况,如何解决

不用myButton.setOnClickListener(new MyButtonListener),直接在里面写内容
myButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
……
}
});

⑨ android 数据库怎么监听数据变化

在android中经常会用到改变数据库内容后再去使用数据库更新的内容,很多人会重新去query一遍,但是这样的问题就是程序会特别占内存,而且有可能会搂关cursor而导致程序内存未释放等等。其实android内部提供了一种ContentObserver的东西来监听数据库内容的变化。
ContentObserver的构造函数需要一个参数Hanlder,因为ContentObserver内部使用了一个实现Runnable接口的内部类NotificationRunnable,来实现数据库内容的变化。需要使用hanlder去post消息。注册ContentObserver的方法是:getContentResolver().registerContentObserver(uri, notifyForDescendents, observer).
上面3个参数为:uri----Uri类型,是需要监听的数据库的uri.
notifyForDescendents---boolean true的话就会监听所有与此uri相关的uri。false的话则是直接特殊的uri才会监听。一般都设置为true.
observer-----ContentObserver 就是需要的contentobserver.
初始化一个ContentObserver对象,重载onChange(boolean ),在这个方法里去操作数据库的使用,针对变化后的使用。

⑩ Android 复选框 怎么设事件监听器

android没有复选对话框吧,组合起来就还是和多选框一样了,多选框的监听和单选框一样,也是setOnCheckchangeListener(引入包的时候注意别引成RadioButton的),你吧这个选择的状态保存起来,然后点确定的时候根据这个状态来处理就好了。

热点内容
安卓怎么命名布局文件名 发布:2025-03-06 21:53:58 浏览:45
动画存储格式 发布:2025-03-06 21:44:58 浏览:173
安卓手机怎么双击弹出健康码 发布:2025-03-06 21:38:02 浏览:973
安卓电脑图标在哪里 发布:2025-03-06 21:37:07 浏览:258
压缩包mp4 发布:2025-03-06 21:31:59 浏览:599
在b站清缓存 发布:2025-03-06 21:21:51 浏览:497
安卓系统中国哪里下载 发布:2025-03-06 21:21:42 浏览:927
帧缓存定义 发布:2025-03-06 21:20:21 浏览:706
3d动画解压密码 发布:2025-03-06 21:20:14 浏览:59
安卓系统2K哪里下载 发布:2025-03-06 21:14:04 浏览:945