private void toast(String content) {
// TODO Auto-generated method stub
Looper.prepare();
Toast.makeText(Activity_Register.this, content, Toast.LENGTH_LONG).show();
Looper.loop();
}
在UI主线程之外是无法对UI组件进行控制的。因此你最好在线程中通过各种方法向UI主线程发送消息通知,由主线程来更新界面。线程间通信方法有多种,常用的是用handler来传递消息。
如果你一定要在线程中弄个Toast啥的,那么也不是完全不行,可以用Looper。这样:
Looper.prepare();
Toast.makeText(ActivityTestActivity.this,"toast",1).show();
Looper.loop();//进入loop中的循环,查看消息队列
但是一个线程只能有一个Looper。
分享到:
相关推荐
Android的UI更新遵循单线程模型,所有对UI的操作必须在主线程中执行。因此,当进度改变时,需要确保更新对话框内容的操作在主线程中执行,可以使用`runOnUiThread()`方法或者`Handler`来实现。 5. ** 响应事件处理...
【标题】"仿微信界面+广告轮播+listview显示和每个item点击删除提示框"这一项目涵盖了多个在Android开发中的重要技术点,主要集中在UI设计、广告展示以及用户交互上。下面将对这些关键知识点进行详细阐述: 1. **仿...
6. UI线程阻塞 - UI阻塞的原因分析及演示示例。 - UI阻塞的解决方案,包括创建新线程和在其他线程中修改UI组件的方法。 7. Android中进程及其优先级 - Android进程的定义以及进程优先级的介绍。 8. Android消息...
- 在本项目中主要用于更新UI,确保所有的UI更新都在主线程中执行。 #### 三、关键变量与对象 - `mMediaPlayer`: `MediaPlayer`实例,负责音频的播放。 - `mSeekBar`: `SeekBar`控件,用于显示当前播放进度及允许...
- 提供友好的用户提示,如非法操作提示、游戏结束提示等,通常通过Toast或AlertDialog实现。 - 设置游戏难度等级,允许用户选择不同强度的AI对手。 7. **性能优化**: - 对于棋盘的绘制和AI计算,可能需要进行...
1. `onPreExecute()`:在后台任务开始之前调用,通常用于在UI线程中做准备工作,例如显示进度条对话框。 2. `doInBackground(Params... params)`:这是真正执行后台任务的地方,运行在非UI线程,可以进行网络请求、...
`RadioButton`(单选按钮)、`Toast`(短暂提示信息)、`CheckBox`(复选按钮)、`ProgressBar`(进度条)、`ListView`(可滚动列表)、`MENU`(菜单控件)、`AlertDialog`(对话框式提示)等。 5. **动画效果**:...
- **Toast 控件**:介绍 Toast 控件的使用方法。 - **AlertDialog 类**:讲解 AlertDialog 类的使用技巧。 **第十八章:处理 Activity 生命周期事件** - **Activity 生命周期**:详细讲解 Activity 的生命周期状态...
- **Adapter:** Adapter 是一种模式,用于将数据绑定到 UI 控件中。 - **ListView、GridView:** 显示列表或网格形式的数据。 - **Spinner:** 下拉选择框。 - **AutoCompleteTextView:** 自动完成提示的文本...
`Handler`机制是管理UI线程和后台线程通信的重要手段。例如: ```java Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { // 耗时任务 handler.post(new ...
7. **错误处理**:当加载数据失败时,应该有一个合理的错误提示,可以是Toast或者AlertDialog,告知用户加载失败,并提供重试的选项。 8. **优化性能**:为了提高性能,可以使用ViewHolder设计模式来复用ListView的...
- 探讨如何使用Toast显示短暂的消息提示。 - **第18章:处理Activity生命周期事件** - 详细介绍Activity生命周期的不同阶段。 - 解释如何通过监听器来响应生命周期变化。 - 提供处理常见生命周期事件的实际...
Menu是Android应用中常见的控件之一,用于组织各种功能选项。 **简单的代码**: ```java @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater....
讲解了如何使用ProgressDialog显示加载进度,以及如何通过线程管理长时间运行的任务,避免阻塞UI线程。 - **3.19 全屏幕以按钮覆盖——动态产生按钮并最大化** 介绍了如何动态生成并最大化按钮,以填充整个屏幕...
- Service中的线程管理 - Looper与MessageQueue **2.15 创建意图过滤器(Chapter 21: Creating Intent Filters)** - **知识点:** - IntentFilter的作用 - 广播接收器注册 - 动态与静态注册的区别 **2.16 ...
2.6.1 使用Toast显示提示信息框 128 2.6.2 Notification的功能与用法 129 2.7 菜单 132 2.7.1 选项菜单和子菜单 (SubMenu) 132 2.7.2 使用监听器来监听菜单事件 136 2.7.3 创建复选菜单项和单选菜单...