2016-08-29 11 views
0

AクラスとAクラスの内部にあるクラスにアクセスしたいアダプタ(RecyclerViewAdapter)があるAsynctask <にアクセスする際に問題があります。クラス内のアダプタからアクセスしたクラス内の内部クラスの実行方法

public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 
    RecyclerView recyclerView; 
    SimpleRecyclerAdapter simpleRecyclerAdapter; 
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this); 

    recyclerView.setAdapter(SimpleRecyclerAdapter); 

    public class getData extends AsyncTask<>{ 
     .... 
    } 
} 

を、これはSimpleRecyclerAdapter

public class SimpleRecyclerAdapter extends RecyclerView.Adapter<SimpleRecyclerAdapter.VersionViewHolder> { 

//from this I would like to execute getData class 

} 
+0

クラス名は大文字にする必要があります。 –

+0

私はあなたのasynctaskが結果をあなたのアダプターに入力されるようにするいくつかのデータを取得するために使用されていると推測しています。この場合、asynctaskの結果を待ってから、その結果を使用してアダプターを生成する方がよいでしょう。例が必要な場合は教えてください。 –

+0

Interface.Andを作成し、コールバックでgetData.executeを呼び出します。 –

答えて

1
です:略してAsynctask <>

を拡張し、それはこのようになるだろう

このようにしてみてください。

public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 
RecyclerView recyclerView; 
SimpleRecyclerAdapter simpleRecyclerAdapter; 
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this); 
new GetData().execute(); 



} 


public class SimpleRecyclerAdapter extends RecyclerView.Adapter<SimpleRecyclerAdapter.VersionViewHolder> { 

//from this I would like to execute getData class 

} 

public class GetData extends AsyncTask<>{ 
    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 

    } 

    @Override 
    protected Void doInBackground(Void... voids) { 

     return null; 
    } 

    @Override 
    protected void onPostExecute(Void aVoid) { 
     super.onPostExecute(aVoid); 
     recyclerView.setAdapter(new SimpleRecyclerAdapter()); 
    } 
} 
関連する問題