混淆Firestore NullPointerException或android.view.view android.view.view.findViewById(int)空对象引用
我的应用程序中有一个问答系统。我可以看到我的问题,如果我愿意,我可以回答我的问题。一切正常,但当我“将我的问题标记为已回答”时,我得到一个空点异常。当我再次运行应用程序时,firestore和我的应用程序中的一切都正常,就像我没有空点异常一样。我不知道这是和firestore有关,还是别的什么 Logcat指出了这一点:混淆Firestore NullPointerException或android.view.view android.view.view.findViewById(int)空对象引用,android,nullpointerexception,google-cloud-firestore,Android,Nullpointerexception,Google Cloud Firestore,我的应用程序中有一个问答系统。我可以看到我的问题,如果我愿意,我可以回答我的问题。一切正常,但当我“将我的问题标记为已回答”时,我得到一个空点异常。当我再次运行应用程序时,firestore和我的应用程序中的一切都正常,就像我没有空点异常一样。我不知道这是和firestore有关,还是别的什么 Logcat指出了这一点: private void getQuestions() { Objects.requireNonNull( getView() ).findViewById(R.id
private void getQuestions() {
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.GONE);
refreshLayout.setRefreshing(true);
Query firstQuery = mFirestore.collection("Questions")
.orderBy("timestamp", Query.Direction.DESCENDING);
firstQuery.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
if (!documentSnapshots.isEmpty()) {
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
if (!Objects.equals( doc.getDocument().getString( "id" ), mCurrentUser.getUid() )) {
AllQuestionsModel question = doc.getDocument().toObject(AllQuestionsModel.class).withId(doc.getDocument().getId());
allQuestionsModelList.add(question);
adapter.notifyDataSetChanged();
refreshLayout.setRefreshing(false);
}
}
}
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} else {
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}
});
}
我很困惑,因为再次运行应用程序后,一切都正常。有什么帮助吗
更新
完整的片段代码,因为问题与视图有关:
public class AllQuestionsFragment extends Fragment {
private RecyclerView recyclerView;
private Context context;
private FirebaseFirestore mFirestore;
private FirebaseUser mCurrentUser;
private QuestionAdapter adapter;
private static String TAG= AllQuestionsFragment.class.getSimpleName();
private List<AllQuestionsModel> allQuestionsModelList =new ArrayList<>();
private TextView et0,et1,et2,et3,et4,et5,et6,et7,et8,et9,et10,et11,et12,et13;
private SwipeRefreshLayout refreshLayout;
public AllQuestionsFragment() {
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(getActivity().getSharedPreferences("theme",MODE_PRIVATE).getBoolean("dark",false))
return inflater.inflate( R.layout.social_frag_answered_dark, container, false);
else
return inflater.inflate(R.layout.social_frag_answered_dark, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
context = view.getContext();
mCurrentUser = FirebaseAuth.getInstance().getCurrentUser();
if (mCurrentUser != null) {
et0=view.findViewById(R.id.all);
et1=view.findViewById(R.id.accountancy);
et2=view.findViewById(R.id.astronomy);
et3=view.findViewById(R.id.biology);
et4=view.findViewById(R.id.business_maths);
et5=view.findViewById(R.id.computer_science);
et6=view.findViewById(R.id.commerce);
et7=view.findViewById(R.id.chemistry);
et8=view.findViewById(R.id.economics);
et9=view.findViewById(R.id.geography);
et10=view.findViewById(R.id.history);
et11=view.findViewById(R.id.physics);
et12=view.findViewById(R.id.p_science);
et13=view.findViewById(R.id.maths);
mFirestore = FirebaseFirestore.getInstance();
adapter = new QuestionAdapter(allQuestionsModelList);
refreshLayout=view.findViewById(R.id.refreshLayout);
recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
recyclerView.setItemAnimator(new DefaultItemAnimator());
allQuestionsModelList.clear();
recyclerView.setAdapter(adapter);
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
getQuestions();
}
});
setUpOnClick();
getQuestions();
}
}
private void getQuestions() {
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.GONE);
refreshLayout.setRefreshing(true);
Query firstQuery = mFirestore.collection("Questions")
.orderBy("timestamp", Query.Direction.DESCENDING);
firstQuery.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
if (!documentSnapshots.isEmpty()) {
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
if (!Objects.equals( doc.getDocument().getString( "id" ), mCurrentUser.getUid() )) {
AllQuestionsModel question = doc.getDocument().toObject(AllQuestionsModel.class).withId(doc.getDocument().getId());
allQuestionsModelList.add(question);
adapter.notifyDataSetChanged();
refreshLayout.setRefreshing(false);
}
}
}
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} else {
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}
});
}
@Override
public void onResume() {
super.onResume();
adapter.notifyDataSetChanged();
}
public void filterResult(String subject){
if(subject.equals("All")){
getQuestions();
}else{
refreshLayout.setRefreshing(true);
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.GONE);
Query firstQuery = mFirestore.collection("Questions")
.whereEqualTo("subject",subject)
.orderBy("timestamp", Query.Direction.DESCENDING);
firstQuery.addSnapshotListener(getActivity(), new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
try {
if (!documentSnapshots.isEmpty()) {
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
if (!doc.getDocument().getString("id").equals(mCurrentUser.getUid())) {
AllQuestionsModel question = doc.getDocument().toObject(AllQuestionsModel.class).withId(doc.getDocument().getId());
allQuestionsModelList.add(question);
adapter.notifyDataSetChanged();
refreshLayout.setRefreshing(false);
}
}
}
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} else {
getView().findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}catch (NullPointerException eee){
Toasty.error(context, "Some technical error occurred", Toasty.LENGTH_SHORT,true).show();
adapter.notifyDataSetChanged();
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} catch (Exception ee){
ee.printStackTrace();
Toasty.error(context, "Some technical error occurred", Toasty.LENGTH_SHORT, true).show();
if(allQuestionsModelList.isEmpty()){
refreshLayout.setRefreshing(false);
getView().findViewById(R.id.default_item).setVisibility(View.VISIBLE);
}
}
}
});
}
}
public void setUpOnClick(){
et0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
getQuestions();
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
getQuestions();
}
});
}
});
et1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Accountancy");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Accountancy");
}
});
}
});
et2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Astronomy");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Astronomy");
}
});
}
});
et3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Biology");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Biology");
}
});
}
});
et4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Business Maths");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Business Maths");
}
});
}
});
et5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Computer Science");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Computer Science");
}
});
}
});
et6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Commerce");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Commerce");
}
});
}
});
et7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Chemistry");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Chemistry");
}
});
}
});
et8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Economics");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Economics");
}
});
}
});
et9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Geography");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Geography");
}
});
}
});
et10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("History");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("History");
}
});
}
});
et11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Physics");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Physics");
}
});
}
});
et12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Political Science");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Political Science");
}
});
}
});
et13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Maths");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Maths");
}
});
}
});
}
公共类AllQuestionsFragment扩展片段{
私人回收站;
私人语境;
私人FirebaseFirestore mFirestore;
私有FirebaseUser mCurrentUser;
专用适配器;
私有静态字符串标记=AllQuestionsFragment.class.getSimpleName();
私有列表allQuestionsModelList=new ArrayList();
私人文本视图et0、et1、et2、et3、et4、et5、et6、et7、et8、et9、et10、et11、et12、et13;
私人交换机布局刷新布局;
公共所有问题片段(){
}
@凌驾
创建视图时的公共视图(@NonNull LayoutInflater inflater、ViewGroup容器、Bundle savedInstanceState){
if(getActivity().getSharedReferences(“主题”,模式\私有).getBoolean(“暗,假))
返回充气机。充气(R.layout.social\u frag\u黑色,容器,假);
其他的
返回充气机。充气(R.layout.social\u frag\u黑色,容器,假);
}
@凌驾
已创建公用void onview(@NonNull视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
context=view.getContext();
mCurrentUser=FirebaseAuth.getInstance().getCurrentUser();
if(mCurrentUser!=null){
et0=view.findViewById(R.id.all);
et1=view.findViewById(R.id.会计);
et2=view.findviewbyd(R.id.天文学);
et3=view.findViewById(R.id.biology);
et4=view.findViewById(R.id.business\u math);
et5=view.findviewbyd(R.id.computer\u science);
et6=view.findviewbyd(R.id.commerce);
et7=view.findViewById(R.id.chemistry);
et8=view.findViewById(R.id.economics);
et9=view.findViewById(R.id.geography);
et10=view.findViewById(R.id.history);
et11=view.findViewById(R.id.physics);
et12=view.findviewbyd(R.id.p_science);
et13=view.findViewById(R.id.math);
mFirestore=FirebaseFirestore.getInstance();
适配器=新问题适配器(allQuestionsModelList);
refreshLayout=view.findViewById(R.id.refreshLayout);
recyclerView=view.findViewById(R.id.recyclerView);
setLayoutManager(新的LinearLayoutManager(上下文));
添加装饰(新的DividerItemDecoration(context,DividerItemDecoration.VERTICAL));
setItemAnimator(新的DefaultItemAnimator());
allQuestionsModelList.clear();
recyclerView.setAdapter(适配器);
refreshLayout.setOnRefreshListener(新的SwipeRefreshLayout.OnRefreshListener(){
@凌驾
公共void onRefresh(){
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
获取问题();
}
});
setUpOnClick();
获取问题();
}
}
私人问题{
Objects.requireNonNull(getView()).findViewById(R.id.default\u项).setVisibility(View.GONE);
refreshLayout.setRefreshing(true);
Query firstQuery=mFirestore.collection(“问题”)
.orderBy(“时间戳”,Query.Direction.DESCENDING);
addSnapshotListener(新的EventListener(){
@凌驾
public void OneEvent(QuerySnapshot文档快照,FireBaseFireStore异常e){
如果(!documentSnapshots.isEmpty()){
对于(DocumentChange文档:documentSnapshots.getDocumentChanges()){
if(doc.getType()==DocumentChange.Type.ADDED){
如果(!Objects.equals(doc.getDocument().getString(“id”),mCurrentUser.getUid()){
AllQuestionsModel question=doc.getDocument().toObject(AllQuestionsModel.class).withId(doc.getDocument().getId());
allQuestionsModelList.add(问题);
adapter.notifyDataSetChanged();
refreshLayout.setRefreshing(false);
}
}
}
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull(getView()).findViewById(R.id.default\u项).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}否则{
Objects.requireNonNull(getView()).findViewById(R.id.default\u项).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}
});
}
@凌驾
恢复时公开作废(){
super.onResume();
adapter.notifyDataSetChanged();
}
public void filterResult(字符串主题){
如果(主体等于(“全部”)){
获取问题();
}否则{
refreshLayout.setRefreshing(true);
Objects.requireNonNull(getView()).findViewById(R.id.default\u项).setVisibility(View.GONE);
Query firstQuery=mFirestore.collection(“问题”)
.whereEqualTo(“主体”,主体)
.orderBy(“时间戳”,Query.Direction.DESCENDING);
firstQuery.addSnapshotListener(getActivity(),new EventListener()){
@凌驾
public void OneEvent(QuerySnapshot文档快照,FireBaseFireStore异常e){
试一试{
如果(!documentSnapshots.isEmpty()){
对于(DocumentChange文档:documentSnapshots.getDocumentChanges()){
public class AllQuestionsFragment extends Fragment {
private RecyclerView recyclerView;
private Context context;
private FirebaseFirestore mFirestore;
private FirebaseUser mCurrentUser;
private QuestionAdapter adapter;
private static String TAG= AllQuestionsFragment.class.getSimpleName();
private List<AllQuestionsModel> allQuestionsModelList =new ArrayList<>();
private TextView et0,et1,et2,et3,et4,et5,et6,et7,et8,et9,et10,et11,et12,et13;
private SwipeRefreshLayout refreshLayout;
public AllQuestionsFragment() {
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(getActivity().getSharedPreferences("theme",MODE_PRIVATE).getBoolean("dark",false))
return inflater.inflate( R.layout.social_frag_answered_dark, container, false);
else
return inflater.inflate(R.layout.social_frag_answered_dark, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
context = view.getContext();
mCurrentUser = FirebaseAuth.getInstance().getCurrentUser();
if (mCurrentUser != null) {
et0=view.findViewById(R.id.all);
et1=view.findViewById(R.id.accountancy);
et2=view.findViewById(R.id.astronomy);
et3=view.findViewById(R.id.biology);
et4=view.findViewById(R.id.business_maths);
et5=view.findViewById(R.id.computer_science);
et6=view.findViewById(R.id.commerce);
et7=view.findViewById(R.id.chemistry);
et8=view.findViewById(R.id.economics);
et9=view.findViewById(R.id.geography);
et10=view.findViewById(R.id.history);
et11=view.findViewById(R.id.physics);
et12=view.findViewById(R.id.p_science);
et13=view.findViewById(R.id.maths);
mFirestore = FirebaseFirestore.getInstance();
adapter = new QuestionAdapter(allQuestionsModelList);
refreshLayout=view.findViewById(R.id.refreshLayout);
recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
recyclerView.setItemAnimator(new DefaultItemAnimator());
allQuestionsModelList.clear();
recyclerView.setAdapter(adapter);
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
getQuestions();
}
});
setUpOnClick();
getQuestions();
}
}
private void getQuestions() {
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.GONE);
refreshLayout.setRefreshing(true);
Query firstQuery = mFirestore.collection("Questions")
.orderBy("timestamp", Query.Direction.DESCENDING);
firstQuery.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
if (!documentSnapshots.isEmpty()) {
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
if (!Objects.equals( doc.getDocument().getString( "id" ), mCurrentUser.getUid() )) {
AllQuestionsModel question = doc.getDocument().toObject(AllQuestionsModel.class).withId(doc.getDocument().getId());
allQuestionsModelList.add(question);
adapter.notifyDataSetChanged();
refreshLayout.setRefreshing(false);
}
}
}
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} else {
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}
});
}
@Override
public void onResume() {
super.onResume();
adapter.notifyDataSetChanged();
}
public void filterResult(String subject){
if(subject.equals("All")){
getQuestions();
}else{
refreshLayout.setRefreshing(true);
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.GONE);
Query firstQuery = mFirestore.collection("Questions")
.whereEqualTo("subject",subject)
.orderBy("timestamp", Query.Direction.DESCENDING);
firstQuery.addSnapshotListener(getActivity(), new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
try {
if (!documentSnapshots.isEmpty()) {
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
if (!doc.getDocument().getString("id").equals(mCurrentUser.getUid())) {
AllQuestionsModel question = doc.getDocument().toObject(AllQuestionsModel.class).withId(doc.getDocument().getId());
allQuestionsModelList.add(question);
adapter.notifyDataSetChanged();
refreshLayout.setRefreshing(false);
}
}
}
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} else {
getView().findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
}catch (NullPointerException eee){
Toasty.error(context, "Some technical error occurred", Toasty.LENGTH_SHORT,true).show();
adapter.notifyDataSetChanged();
if(allQuestionsModelList.isEmpty()){
Objects.requireNonNull( getView() ).findViewById(R.id.default_item).setVisibility(View.VISIBLE);
refreshLayout.setRefreshing(false);
}
} catch (Exception ee){
ee.printStackTrace();
Toasty.error(context, "Some technical error occurred", Toasty.LENGTH_SHORT, true).show();
if(allQuestionsModelList.isEmpty()){
refreshLayout.setRefreshing(false);
getView().findViewById(R.id.default_item).setVisibility(View.VISIBLE);
}
}
}
});
}
}
public void setUpOnClick(){
et0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
getQuestions();
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
getQuestions();
}
});
}
});
et1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Accountancy");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Accountancy");
}
});
}
});
et2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Astronomy");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Astronomy");
}
});
}
});
et3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Biology");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Biology");
}
});
}
});
et4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Business Maths");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Business Maths");
}
});
}
});
et5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Computer Science");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Computer Science");
}
});
}
});
et6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Commerce");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Commerce");
}
});
}
});
et7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Chemistry");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Chemistry");
}
});
}
});
et8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Economics");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Economics");
}
});
}
});
et9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Geography");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Geography");
}
});
}
});
et10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("History");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("History");
}
});
}
});
et11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Physics");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Physics");
}
});
}
});
et12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Political Science");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Political Science");
}
});
}
});
et13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Maths");
refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
allQuestionsModelList.clear();
adapter.notifyDataSetChanged();
filterResult("Maths");
}
});
}
});
}
public class AllQuestionsFragment extends Fragment {
LinearLayout viewLayout;
....
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewLayout = view.findViewById(R.id.default_item);
....
}
}
private void getQuestions() {
viewLayout.setVisibility(View.GONE);
....
}