0

フラグメント内のDialogFragment内にRecyclerViewを展開しようとしています。 ガイドラインに従ってRecyclerViewアダプタを通常作成しました。フラグメント内のDialogFragment内のRecyclerView

は、しかし、私はライン

recyclerView.setLayoutManager(マネージャー)では、このエラーjava.lang.NullPointerException: Attempt to invoke virtual method 'voidandroid.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference

を取得しています。

ここでは完全なコードは、あなたの問題は、この行である

public class AlertFragment extends DialogFragment { 
RecyclerView recyclerView; 
RecyclerView.Adapter adapter2; 
RecyclerView.LayoutManager manager; 

ArrayList<String> goalname = new ArrayList<String>(); 
ArrayList<String> goalcategory = new ArrayList<String>(); 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.fragment_alert, container, false); 
    goalname.add("Running"); 
    goalcategory.add("Physical"); 
    goalname.add("Yoga"); 
    goalcategory.add("Physical"); 
    goalname.add("Gym"); 
    goalcategory.add("Physical"); 
    goalname.add("Meditation"); 
    goalcategory.add("Mental"); 
    goalname.add("Puzzle Solving"); 
    goalcategory.add("Habits"); 
    manager = new LinearLayoutManager(getActivity()); 
    recyclerView = (RecyclerView) getActivity().findViewById(R.id.bookhistory); 
    recyclerView.setLayoutManager(manager); 


    adapter2 = new GoalListAdapter(goalname, goalcategory,getActivity()); 
    recyclerView.setAdapter(adapter2); 
    adapter2.notifyDataSetChanged(); 
    return v; 
}} 

答えて

1

それつもりクラッシュが含まれていることを想定している

recyclerView = (RecyclerView) v.findViewById(R.id.bookhistory); 

に言及しました。

はちょうどこのラインを交換::と::

recyclerView = (RecyclerView) v.findViewById(R.id.bookhistory); 

recyclerView = (RecyclerView) getActivity().findViewById(R.id.bookhistory); 

を今、それはあなたのために動作します。

ありがとうございました。

もっと助けが必要な場合は教えてください。

+0

は、それが働いていたが、今アダプタ – GeekWithGlasses

+0

ポストlogcatをクラッシュアダプタので、最終的にアプリがまだクラッシュさ:「無効android.widget.Button.setOnClickListenerを仮想メソッドを呼び出すための試みを(android.view.View $ OnClickListener) 'を参照してください。 (com.livelytoday.launch4.livelytoday.GoalListAdapter $ RecyclerViewHolder)。 (GoalListAdapter.java:63) –

+0

のjava.lang.NullPointerExceptionのクラッシュのために – GeekWithGlasses

0

です:

recyclerView = (RecyclerView) getActivity().findViewById(R.id.bookhistory); 

あなたは本当にこのライン上であなたのフラグメントであなたが膨張したビューからRecyclerViewを取得したいです

View v = inflater.inflate(R.layout.fragment_alert, container, false); 

これを修正するには、changコードのE最初の行は、私はそれがリサイクルビューのインスタンスを見つけていないので、これは、DialogFragmentはbookhistory明らか

関連する問題