나는 안드로이드 스튜디오를 처음 접했고 Fragment에서 RecyclerView를 만들려고했습니다. 튜토리얼을 따르고 있었지만 여전히 'Cannot resolve'findViewById '메시지가 나타납니다.
나는 시도했다 :
RecyclerView recyclerView = (RecyclerView)getView().findViewById(R.id.recyclerView);
그러나 결국 오류가 발생했습니다.
Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
다음은 코드입니다.
package com.example.app;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Articles extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NewsList[] myListData = new NewsList[] {
new NewsList("Article 1", "Some Author"),
new NewsList("Article2", "Some Author"),
new NewsList("Article3", "Some Author"),
};
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
NewsAdapter adapter = new NewsAdapter(myListData);
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(adapter);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_create, container, false);
}
}
이 문제를 어떻게 해결할 수 있습니까?
- 답변 # 1
- 답변 # 2
귀하의 견해는 아직 부풀려지지 않았기 때문에 찾을 수 없습니다. 코드 이동
onCreate
...에onViewCreated
조각 수명주기.@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // your view is discoverable here RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView); }
관련 자료
- java - MainActivity에서 "findViewById"메서드를 확인할 수 없습니다
- firebase - android에서 addnapshot listener 메서드를 확인할 수 없습니다
- java - 'CompareTo (int)'메서드를 확인할 수 없습니다
- spring boot - Mockito MockedStatic when () "메서드를 해결할 수 없음"
- google signin - 'setAllowNewEmailAccounts (boolean)'메소드를 해결할 수 없습니다
- java - 'Runnable'구현은 선언 된 인터페이스의 개체에 대한 메서드를 확인할 수 없습니다
- android - 'setupWithNavController…'메서드를 확인할 수 없습니다
- android - 활동 xml의 조각에있는 findViewById 속성이 작동하지 않음
- javascript - 다른 클래스의 클래스에서 메서드를 호출하는 방법은 무엇입니까? 속성 '테스트'JS를 읽을 수 없습니다
- java - 메서드 length ()를 해결하는 방법
- java - StringBuilder 삭제 메서드는 for 루프에서 '0'을 모두 삭제할 수 없습니다
- java - 메서드를 오버로드 할 수 없습니까?
- python - FieldError 해결 방법-키워드 '슬러그'를 필드로 해결할 수 없음
- python - typeerror - django에서 일관된 메서드 해결을 만들 수 없습니다
- javascript - 구독 방법에서 값을 설정할 수없는 이유는 무엇입니까?
- xml - xsd - 이름을 '유형 정의'구성 요소로 확인할 수 없습니다
- python - typeerror - 'method'객체는 정수로 해석 될 수 없습니다
- c# - 메소드 그룹 func 델리게이트를 기다릴 수 없습니다
- django - 키워드 'contact_date'를 (를) 필드로 해석 할 수 없습니다 Contact_date, email, id, 목록, listing_id, 메시지, 이름, 전화 번호, user_id 중에서 선택할 수 있습니다
다음 변수를 추가하십시오.
onCreateView를 다음과 같이 변경하십시오.
마지막으로-XML 파일 내의 recyclerview에 다음이 있는지 확인하십시오.