0

조각 내부에있는 DialogFragment 내에 RecyclerView를 부풀려합니다. 가이드 라인에 따라 RecyclerView 어댑터를 정상적으로 만들었습니다.RecyclerView 내부의 DialogFragment

는하지만 라인

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) getActivity().findViewById(R.id.bookhistory); 

으로 ::

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

를 교체합니다.

감사와 즐거운 코딩.

추가 도움이 필요하면 알려주세요.

+0

그것은 작동하지만 지금 어댑터 – GeekWithGlasses

+0

포스트 로그 캣 충돌 어댑 때문에 결국 응용 프로그램이 계속 충돌한다 : '무효 android.widget.Button.setOnClickListener를 가상 메서드를 호출하는 시도를 (android.view.View에서 $ OnClickListener) 'com.livelytoday.launch4.livelytoday.GoalListAdapter $ RecyclerViewHolder에서 null 개체 참조에 대한. (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); 

이렇게 수정하려면 코드의 전자 첫 번째 줄은 나는 그것이 재활용보기 인스턴스를 찾지 못하는 것 때문은 DialogFragment이 bookhistory 분명히