package com.example.xmlbroadcast;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tx1=null;
private Button bt1=null;
private Button bt2=null;
private Button bt3=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1=(Button)findViewById(R.id.btn);
bt1.setText("发出广播");
bt1.setOnClickListener(new bt1listener());
bt2=(Button)findViewById(R.id.btn2);
bt2.setText("注册监听器");
bt2.setOnClickListener(new bt2listener());
bt3=(Button)findViewById(R.id.btn3);
bt3.setText("注销监听器");
bt3.setOnClickListener(new bt3listener());
tx1=(TextView)findViewById(R.id.txv);
}
class bt1listener implements OnClickListener{
public void onClick(View v) {
// TODO Auto-generated method stub
tx1.setText("fuck");
Intent it1=new Intent();
it1.setAction(Intent.ACTION_EDIT);
MainActivity.this.sendBroadcast(it1);
}
}
public TestReceiver mr1 = new TestReceiver(); //创建监听器对象
class bt2listener implements OnClickListener{
public void onClick(View v) {
IntentFilter if1=new IntentFilter();
if1.addAction(Intent.ACTION_EDIT);
MainActivity.this.registerReceiver(mr1,if1);
}
}
class bt3listener implements OnClickListener{
public void onClick(View v) {
MainActivity.this.unregisterReceiver(mr1);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
这里要注意一点,在注销监听器的时候,一定要保证监听器存在,否则程序会报错!
分享到:
相关推荐
在使用时,我们需要在Fragment中初始化监听器,然后将其注册到Activity中,同时在监听器中监听手势动作。例如,我们可以在Fragment中定义一个onTouchListener,然后将其注册到Activity中。 onTouchListener = new ...
在Android中,通常我们会在Activity或Fragment这样的UI组件内部定义匿名内部类来实现监听器,这样可以直接访问到UI组件。但有时,为了代码复用或逻辑清晰,我们可能会选择将监听器实现放在一个独立的外部类中。这种...
3. **监听回退栈变化**:通过调用`addOnBackStackChangedListener()`,你可以添加一个监听器来响应回退栈的变化,这在跟踪用户导航历史时非常有用。 执行Fragment交易是通过FragmentManager进行的。当你需要添加、...
6. onDestroy():Activity即将被销毁时调用,是生命周期中的最后一个回调,可以在这里做最后的清理,如取消注册监听器、释放大内存对象等。 在某些特殊情况下,Activity可能不会经过onStop()直接调用onDestroy(),...
在Android开发中,自定义接口并将其应用于Activity与Adapter之间的通信是常见的做法,尤其是在处理点击事件和解决滑动错位问题时。这篇文章将深入探讨如何通过这个方法来优化用户界面的交互体验。 首先,让我们理解...
例如,在 onCreate() 方法中,我们可以加载布局、设置监听器等。在 onResume() 方法中,我们可以恢复 Activity 的状态,例如恢复游戏的进度。在 onPause() 方法中,我们可以保存 Activity 的状态,例如保存游戏的...
发送者创建并发送本地广播,接收者注册监听器接收。 ```java // 发送 LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("ACTION_NAME")); // 接收 LocalBroadcastManager.getInstance...
在Android应用开发中,Service和Activity是两个非常重要的组件,它们各自扮演着不同的角色。Service主要负责在后台执行长时间运行的任务,而Activity则用于与用户交互。本示例"Android Service与Activity交互"旨在...
在Activity中,我们需要找到这个Button并为其设置监听器: ```java Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v...
这是Activity生命周期的最后一个回调,适合清理资源和取消注册监听器。 在实际开发中,开发者需要注意以下几点: - 使用`onSaveInstanceState(Bundle outState)`来保存Activity的状态,以防因配置改变(如屏幕旋转...
在Android系统中,有时开发者需要在用户设备锁屏的状态下显示特定的Activity,以提供更为直接的用户交互体验。比如来电提醒、紧急通知或者闹钟等。这些功能的实现涉及到了Android系统的电源管理、窗口管理和通知策略...
开发者通常会在Activity的事件监听器(如OnClickListener)中处理这些动作,根据用户的行为执行相应的业务逻辑。 **Invoke Other App** 在Android中,一个应用可以启动另一个已安装的应用,比如打开一个网页、发送...
- 创建GestureDetector的监听器(GestureListener),并在监听器中处理手势事件。例如,在onFling()方法中,我们可以检测到左右滑动,从而触发Activity的切换。 3. **切换Activity**: - 当识别到需要切换...
在Android应用开发中,Activity和Fragment是两个核心组件。Activity作为应用程序的主要入口点,而Fragment则可以看作是Activity中的可重用模块,它们共同构建了丰富的用户界面。当需要在Activity与Fragment之间进行...
在这个方法里,开发者可以进行清理工作,如取消注册监听器。 在Android开发中,理解并正确处理Activity生命周期至关重要,这可以确保应用在各种情况下表现良好,避免数据丢失和用户体验下降。同时,合理使用对话框...
在Android开发中,全局事件监听器是一种非常实用的设计模式,它允许开发者在整个应用程序范围内监听特定的事件,而无需在每个需要响应的类中都添加监听代码。标题中的"android全局事件监听器"指的是一个实现此类功能...
在Android开发中,通常我们需要为每个用户界面创建一个对应的Activity,并手动在主应用程序的AndroidManifest.xml文件中注册这些Activity。然而,这样的过程可能会变得繁琐,尤其是在项目变得庞大时。"android根据...
在Android操作系统中,Activity和Intent是两个至关重要的概念,它们构成了Android应用交互的核心。Activity可以理解为用户界面的“窗口”,而Intent则扮演着不同组件间通信的“信使”角色。在这里,我们将深入探讨这...
此外,Activity还可以处理触摸、拖动等其他类型的事件,这主要通过监听器或自定义View来实现。 #### 三、接收来自Activity的信息 在Android中,Activity之间可以通过Intent传递数据。例如,从一个Activity启动另一...
开发者通常在这个方法中释放资源,解除监听器,以及执行其他清理工作。 5. 暂停与恢复 当Activity被部分遮挡(例如,弹出一个对话框或通知栏滑下)时,它将从Resumed状态变为Paused状态。在此状态下,Activity仍...