public void run() {
// TODO Auto-generated method stub
while (isPlay) {
Message msg = handler.obtainMessage(UPDATE, cur_index, 0);
handler.sendMessage(msg);
// 更新时间间隔为 2s
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cur_index++;
}
}
请问这段重写的run()函数会在什么时候开始运行?我并没有在.class里看到有地方调用这个函数。是不是while (isPlay)为真就开始自动运行run?
还有handler.obtainMessage这个函数是什么作用,那个三个参数是什么东东?private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == UPDATE) {
gallery.setSelection(msg.arg1); //设置要显示的图片
}
super.handleMessage(msg);
}
};
还有一段代码是这样的,是不是这个update有关?~程序是先运行哪个呢javarun()handlerhandleMessage
// TODO Auto-generated method stub
while (isPlay) {
Message msg = handler.obtainMessage(UPDATE, cur_index, 0);
handler.sendMessage(msg);
// 更新时间间隔为 2s
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cur_index++;
}
}
请问这段重写的run()函数会在什么时候开始运行?我并没有在.class里看到有地方调用这个函数。是不是while (isPlay)为真就开始自动运行run?
还有handler.obtainMessage这个函数是什么作用,那个三个参数是什么东东?private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what == UPDATE) {
gallery.setSelection(msg.arg1); //设置要显示的图片
}
super.handleMessage(msg);
}
};
还有一段代码是这样的,是不是这个update有关?~程序是先运行哪个呢javarun()handlerhandleMessage
解决方案 »
- 有关摄像头开启后页面问题,自己已经找到原因了,有没有人进来回复一下,我好结帖~~~~~
- 图片旋转
- 如何在alertdialog中响应home按键
- android 上传图片不显示问题
- 看这种效果如何实现?
- jni层调用socket(AF_INET, SOCK_DGRAM, 0)失败
- 啥时候变成这样了啊?强制使用action bar?
- android横屏开机怎么设置
- 一个简单的从sudu actuvity跳转到aboutactivity,怎么在模拟器上运行老报错?
- 安卓自启动c++程序
- 急, 求,微信、搜狐新闻等客户端离线消息是如何做的
- Android app 会员系统,用什么数据库呢?SQLite 不能放到服务器把
run应该是Thread的方法,你应该找何处实例化了这个Thread,通过start方法可以执行Thread的run方法。
建议楼主温习下Java的线程第二个问题,建议楼主学习Android的消息机制这些都是基本知识
按你代码所示,你的run()方法每2秒会执行一次,只到isPlay=false时退出线程。你的线程方法run()中,每次执行是发了一次消息,这是android的消息机制,系统收到消息后,会自动调用handleMessage()接收,你需要在此方法中进行处理。