我尝试在我的活动中多次更改textview,然后再次在我的AsyncTask中更改。这是否可能它给我一个错误,我第二次改变了它。
答案 0 :(得分:4)
您可以根据需要随时更改。
但请记住,AsyncTask是一个单独的线程。如果要更改UI组件,则必须在UI线程中执行此操作。
这意味着:如果要更改AsyncTask类中的UI控件,则必须在onPreExecute(),onProgressUpdate()或onPostExecute()内部执行此操作。它们在UI线程中运行,可以操作视图和布局。你不能在doInBackground()中做到这一点。
编辑:如果您想了解更多信息,请阅读官方文档:
Processes and Threads
答案 1 :(得分:1)
Android中的TextView是可变的 - 它可以使用setText()多次写入; 这是文档。 http://developer.android.com/reference/android/widget/TextView.html#setText(java.lang.CharSequence,android.widget.TextView.BufferType)
更可能的问题是,在AsyncTask的处理函数中,TextView的变量为null。检查textView变量是否可用于asynctask的范围。