0

私は次の完全に機能するコードを持っています。これは、他の人の例からのカット&ペーストを少し組み合わせたものです。

private class Get_tweets_async_task_class extends AsyncTask<String, Integer, Bitmap>
{
    protected void onPreExecute()
    {
    }

    @Override
    protected Bitmap doInBackground(String... params) 
    {
        array_of_single_tweets = getTweets(params[0], 1);

        return null;
    } 

    protected void onProgressUpdate(Integer... params)
    {
    }

    protected void onPostExecute(Bitmap img)
    {
        update_display_list();
    }

    protected void onCancelled()
    {
    }
}

実際、私のコードはビットマップを扱う必要はありません (これは、この例のせいでした)。そして今、それを取り除こうとしています。次のようにコードを編集しました。

private class Get_tweets_async_task_class extends AsyncTask<String, Integer, Void>
{
    protected void onPreExecute()
    {
    }

    @Override
    protected Void doInBackground(String... params) 
    {
        array_of_single_tweets = getTweets(params[0], 1);

        return null;
    } 

    protected void onProgressUpdate(Integer... params)
    {
    }

    protected void onPostExecute()
    {
        update_display_list();
    }

    protected void onCancelled()
    {
    }
}

しかし、コードは機能しなくなりました。ビットマップの削除で何か間違ったことをしましたか?

編集:申し訳ありませんが、onPostExecute 行の入力を間違えました - 今修正されました

4

2 に答える 2

1

protected void onPostExecute(何も無効にしない)

于 2013-02-11T10:18:36.307 に答える
1

メソッドを修正する必要がありますonPostExecute
結果としてまだ受信Bitmapしている場合は、Void に変更します。

投稿を編集しますが、問題はonPostExecute.
公式ドキュメントを確認してください: http://developer.android.com/reference/android/os/AsyncTask.html

于 2013-02-11T10:19:12.100 に答える