05-27 17:00:28.636: WARN/System.err(17014): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.testButton.performClick();出错了,这句只能在主线程调用,在子线程中不可以使用。
解决方案 »
- android多任务下载管理器
- 为什么想用eclipse打开一个文件的源码却找不到android项
- 求助:关于google地图使用报错INSTALL_FAILED_MISSING_SHARED_LIBR
- android 如何显示表格数据(从word里读取的表格)
- widget 布局 按钮 事件
- 请问一个android权限异常问题
- 自定义Adapter的getView方法不执行
- 求教!如何更改安卓系统的最大音量
- app请求的内容里除了文字也有图片,服务端如何处理?
- socket= serverSocket.accept();一直停住,debug显示为null
- show on maps
- 新手求助:如何进入系统的通讯记录页面
如果不能在子线程里面做 就单独做一个Timer吧 用TimerTask处理就行了啊
public class aaa extends Activity
{
private Button testButton;
Timer tm = new Timer();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.main);
testButton = (Button) findViewById(R.id.Button01);
testButton.setClickable(true);
testButton.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0)
{
testButton.setText("clicked!");
}
});
Toast.makeText(aaa.this, "delay Over", Toast.LENGTH_LONG).show(); tm.schedule(new pressButton(), 5000);
// testButton.performClick();
} public class pressButton extends java.util.TimerTask
{
public void run()
{
Log.i("TimerTask","Success");
Toast.makeText(aaa.this, "Timer task", Toast.LENGTH_LONG).show();
testButton.performClick();
}
}
private void delay(int i)
{
try
{
Thread.sleep(i * 1000);
} catch (Exception e)
{
}
}
}