线程可以传参数的。 声明参数。给其set 方法。 然后直接set值即可。
或者创建全局变量。
或者创建全局变量。
解决方案 »
- android 2.2 能不能在开发板上实现不要键盘,只要鼠标控制整个屏幕??支持鼠标控制。
- webview 根据scrollbar读取内容
- invalid resource directory name。如何解决?
- 这种菜单怎么实现?
- android 两个button 紧靠
- ndk-build时出现Fatal error: Invalid -march= option: `armv5te'怎么解决
- 关于String的一些问题
- android手机录像过程中添加字幕或者图片,求开发思路
- 安卓1.6(API4)的AVD可以正常启动,安卓2.2(API8)的AVD启动不了
- Android app如何通过内部链接打开天猫的商品详情页面
- Android中实现类似QQ已登录状态下,别处再次登录踢下线机制。
- Android能否实现App安装后就执行某些操作
这里也就是参数x需要声明为final
void listen(final int x) // 方法
{
new Thread(new Runnable()
{
@Override
public void run() {
// 这里没法访问局部参数x
int a = x;
}
});
}
如果楼主的需求x可能会改变的时候,那就在方法内再定义个final变量
final int tmp = x;
然后在线程内run()方法中访问tmp变量。
{
new Thread(new Runnable()
{
@Override
public void run()
{
// 这里没法访问局部参数x
}
}).start();
}
这种即时线程的缺陷,不能访问方法参数!!!
要改成扩充Thread的办法才能解决!
class MyThread extends Thread
{
int _x;
public MyThread(int x)
{
_x=x;
}
public void run()
{
// 访问 _x
}
};