簡體   English   中英

沒有調用 asyncTask 的 doInBackground?

[英]doInBackground of asyncTask not getting called?

在我的應用程序中,當我調用 new RetrieveFirstThreeArtUrl().execute() doInBackground 時沒有被調用.. 有誰知道為什么? 這段代碼幾天前還在工作,所以我不知道發生了什么..

public class RetrieveFirstThreeArtUrl extends AsyncTask<String, Void, Void> {

    static final String APIURL = "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=2ead17554acf667f27cf7dfd4c368f15&artist=%s&album=%s";
    static final String APIURL_ARTIST = "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&api_key=2ead17554acf667f27cf7dfd4c368f15&artist=%s";


    @Override
    public void onPreExecute() {

        super.onPreExecute();
        Log.v("", "Pre");
    }

    @Override
    public Void doInBackground(String... args) {
        Log.v("", "Background");


        return null;
    }

    @Override
    public void onPostExecute(Void args) {
        list = (ListView) rootView.findViewById(R.id.list);
        adapter = new LiveAdapter(LiveStreamFragment.this.getActivity(), oslist, LiveStreamFragment.this, list);
        list.setAdapter(adapter);

    }


}

用這個替換你的代碼

在調用RetrieveFirstThreeArtUrl方法之前,寫下這兩行

static final String APIURL = "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=2ead17554acf667f27cf7dfd4c368f15&artist=%s&album=%s";
static final String APIURL_ARTIST = "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&api_key=2ead17554acf667f27cf7dfd4c368f15&artist=%s";

除了調用方法RetrieveFirstThreeArtUrl ,還有一件事是使用protected而不是public

public class RetrieveFirstThreeArtUrl extends AsyncTask<String, Void, Void> {


    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        Log.v("", "Pre");
    }

    @Override
    protected void onPostExecute(Void result) {
        list = (ListView) rootView.findViewById(R.id.list);
        adapter = new LiveAdapter(LiveStreamFragment.this.getActivity(), oslist, LiveStreamFragment.this, list);
        list.setAdapter(adapter);
    }

    @Override
    protected Void doInBackground(String... params) {
        Log.v("", "Background");
        return null;
    }       
}   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM