将值设置为文本字段

时间:2011-03-08 14:04:42

标签: android testing textview

我想编写一个测试,只测试我的布局中的字段与生成的业务对象之间的映射是否正确。但是当我尝试为我的文本字段设置值时,我得到一个错误,表示我不应该尝试将值设置为来自另一个线程的文本字段。所以基本上我不能将活动设置为我可以尝试创建业务对象的状态。

但是如何编写这样的测试?我更喜欢如果我不需要为仅支持测试的活动添加代码,但也许我无法避免这种情况?

提前致谢 罗兰

2 个答案:

答案 0 :(得分:2)

只能从UI线程访问View对象。您必须尝试从您在其他地方创建的工作线程中设置这些值。

你应该看看AsyncTask类,看看它是否可以解决你的问题(它具有在UI线程上执行的函数,如onResult,onProgress,......)

其他可能性是使用Activity.runOnUiThread(Runnable)函数。

这就是我所说的细节。也许如果您发布一些示例代码,您将获得更精确的答案。

答案 1 :(得分:0)

您在Activity中的哪个位置尝试设置TextField?

如果您只需要一个简单的测试,可以通过onCreate方法完成。下面是我的功能代码的一个信息:

public void onCreate( Bundle savedInstanceState ){  
    super.onCreate( savedInstanceState );
    setContentView( R.layout.main );
    _dateView = (TextView) findViewById( R.id.ScheduleDate );
    _dateView.setText( "TODAY" );
}