【发布时间】:2019-07-29 17:02:55
【问题描述】:
基本上我想使用 asynctask 为一个 textview 设置文本,但我不知道该怎么做,这就是我到目前为止所做的
public void onBindViewHolder(final ViewHolder holder, final int position) {
final ChatMessage msg = mMessagesList.get(position);
holder.messageTextView.setText(msg.getMessage());
new LongOperation().execute();
}
private class LongOperation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... str) {
return null;
}
@Override
protected void onPostExecute(String result) {
}
@Override
protected void onPreExecute() {
}
@Override
protected void onProgressUpdate(Void... values) {
}
}
我想在 asyncTask 中而不是在 onBindViewHolder 中为 messageTextView 设置 setText,谢谢!
【问题讨论】:
-
在
onBindViewHolder中运行 AsyncTask 真的很糟糕。请重新考虑您的架构。想象一下:如果用户上下滚动 300 次会怎样。这将创建近 1000 个 AsyncTask。 -
在将列表设置为适配器之前对整个列表执行长时间运行的操作
标签: java android android-asynctask