2011-10-28 10 views
1

なぜそれがわからないのですか?静的ではないasynctaskのメソッドを呼び出せません。私のasynctaskからの呼び出しメソッドは静的でなければならない

protected void onPostExecute(String result) { 

     List<SingleEvent> thelist = PhotosActivity.parseJSONResponse(result); 


     PhotosActivity.refreshListView(thelist); 




    } 

私の活動の方法:

public void refreshListView(List<SingleEvent> theList){//method that adds the List to the ListView after asyncTask is finished. 

     SingleEventAdapter adapter = new SingleEventAdapter(this, theList); 

     this.list.setAdapter(adapter); 
     adapter.notifyDataSetChanged(); 

    } 

それは私が私の方法は、静的にする必要があると言うが、そうすることで、コードは内部のそれは静的で使用することはできませんと言って、エラーを取得します。

EDIT:

され、次の私のasynctaskクラス:それは静的ではありません

public class CallWebServiceTask extends AsyncTask<String, Object, String> {} 

答えて

2

あなたはこの(あなたのAsyncTaskクラスが静的ではないことを確認してください)行う必要があります。

PhotosActivity.this.refreshListView(thelist); 
+0

をImが – Adam

+0

「をPhotosActivityのない親インスタンスを」エラーを取得していないそうではPhotosActivity中にあなたasynctaskクラスですか?いいえの場合は、そのアクティビティへの参照を非同期タスクのコンストラクタに渡し、そこに参照を保持する必要があります。 – Cristian

+0

素晴らしいです。どうもありがとうございます! – Adam