2017-03-02 14 views
-2

jsonの配列をrecyclerviewに入れようとしていますが、実行すると "仮想メソッドwidget.RecyclerView.setLayoutManagerを呼び出そうとしています ヌルオブジェクト参照で仮想メソッドwidget.RecyclerView.setLayoutManagerを呼び出そうとしています

「nullオブジェクト参照上のこの私のフラグメントコード:

public class ShopsFragment extends Fragment { 


private RecyclerView recyclerView; 
private RecyclerView.LayoutManager layoutManager; 
private RecyclerView.Adapter adapter; 
private List<ShopsData> data_List; 
public ShopsFragment() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View rootView = inflater.inflate(R.layout.fragment_shops, container, false); 
    recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view); 
    recyclerView.setHasFixedSize(true); 
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 
    data_List = new ArrayList<>(); 
    StoresBackgroundTask backgroundTask = new StoresBackgroundTask(getActivity()); 
    backgroundTask.execute(); 




    return rootView; 

} 

}

とここで私のonPreExecudeコード:

は、
@Override 
protected void onPreExecute() { 
    recyclerView = (RecyclerView) activity.findViewById(R.id.recycler_view); 
    final LinearLayoutManager layoutManager = new LinearLayoutManager(ctx); 
    recyclerView.setLayoutManager(layoutManager); 
    recyclerView.setHasFixedSize(true); 
    adapter = new StoresRecyclerAdapter(arrayList); 
    recyclerView.setAdapter(adapter); 
} 

onPreExecudeの4行目にエラーが表示されます。 何が問題なのですか?

答えて

0

確かに、別のスレッドで実行されているメソッド内からrecyclerViewを取得しようとしているからです。 recyclerViewがClass変数の場合は、onPreExecute()メソッド内からrecyclerView = (RecyclerView) activity.findViewById(R.id.recycler_view);行を削除するだけです。

+0

ありがとうございますが、動作しません。 –

+0

その行を削除すると、どのエラーが表示されますか? –

+0

前と同じエラー –

関連する問題