我不明白我的错误在哪里。我有Fragment
并在onCreateView
我创建并执行AsyncTask
。但它没有显示结果。
我的片段
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.thread_layout, container, false);
TextView tv = (TextView) view.findViewById(R.id.textView1);
ThreadAsyncTask threads = new ThreadAsyncTask(addressOfThread);
threads.execute();
tv.setText(threads.getResulf());
return view;
}
}
和我的AsyncTask
public class ThreadAsyncTask extends AsyncTask<String, Void, String> {
private String addressOfThread = "";
public String resulf = "aaaa";
public ThreadAsyncTask(String url) {
this.addressOfThread = url;
}
public String getResulf(){
return new String(this.result);
}
}
答案 0 :(得分:0)
您需要实现doInBackground方法,在此方法中,您需要指定您希望任务在单独的线程中执行的操作。 在此之后,如果您需要使用从doInBaackground获得的结果修改UI,则必须实现metod onPostExecute。
答案 1 :(得分:0)
您必须覆盖doInBackground
方法才能获取/处理您的数据
此数据可在onPostExecute
方法中使用,并从此处回拨给您的用户界面(活动或片段)。
请参阅我的示例gits以了解此过程:
AsyncTask:https://gist.github.com/hongthaiis/77a847d2011f627c2c60#file-getweatherdatatask-java
使用回拨方法的活动:https://gist.github.com/hongthaiis/43477678bb2764cfc0f6#file-weatheractivity-java
希望这有帮助! :D