AsynTask没有关于onCreateView片段的结果

时间:2015-08-03 14:40:03

标签: android android-fragments

我不明白我的错误在哪里。我有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);
    }

}

2 个答案:

答案 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