Quantcast
Channel: Active questions tagged crash - Stack Overflow
Viewing all articles
Browse latest Browse all 7195

RecyclerView crashes the application

$
0
0

I was trying to practice using the Recycler in Android Studio using Java.I have made so much progress so far.When I run the application it crashes immediately, I have checked the logs and I had an error on the below:Attempt to invoke virtual method 'android.view.View androidx.recyclerview.widget.RecyclerView.findViewById(int)' on a null object referenceandAttempt to invoke virtual method 'android.view.View androidx.recyclerview.widget.RecyclerView.findViewById(int)' on a null object reference

Below is my MainActivity class:

package com.example.recyleview;import androidx.appcompat.app.AppCompatActivity;import androidx.recyclerview.widget.LinearLayoutManager;import androidx.recyclerview.widget.RecyclerView;import android.os.Bundle;import android.widget.LinearLayout;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {    private RecyclerView recView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        recView.findViewById(R.id.recView);        recView.setLayoutManager(new LinearLayoutManager(this));        setContentView(R.layout.activity_main);        ArrayList<Contact> contacts = new ArrayList<>();        contacts.add(new Contact("Jacob", "jacob@gmail.com", "later"));        contacts.add((new Contact("Sara ", "sara@gmail.com", "later")));        contacts.add(new Contact("Nino", "nino@gmail.com", "later"));        ContactsRecViewAdapter adapter = new ContactsRecViewAdapter(this);        adapter.setContacts(contacts);        recView.setAdapter(adapter);    }}

and here is another class called ContactsRecViewAdapter

package com.example.recyleview;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.Toast;import androidx.annotation.NonNull;import androidx.recyclerview.widget.RecyclerView;import java.util.ArrayList;public class ContactsRecViewAdapter extends RecyclerView.Adapter<ContactsRecViewAdapter.ViewHolder>{    private ArrayList<Contact> contacts = new ArrayList<>();    private final Context context;    public ContactsRecViewAdapter(Context context) {        this.context = context;    }    @NonNull    @Override    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.contacts_list_item, parent, false);        ViewHolder holder = new ViewHolder(view);        return holder;    }    @Override    public void onBindViewHolder(@NonNull ContactsRecViewAdapter.ViewHolder holder, int position) {        holder.txtName.setText(contacts.get(position).getName());        holder.parent.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(context, contacts.get(position).getName() +" Clicked", Toast.LENGTH_SHORT).show();            }        });    }    @Override    public int getItemCount() {        return contacts.size();    }    public void setContacts(ArrayList<Contact> contacts) {        this.contacts = contacts;        notifyDataSetChanged();    }    public static class ViewHolder extends RecyclerView.ViewHolder{        private final TextView txtName;        private final RelativeLayout parent;        public ViewHolder(@NonNull View itemView) {            super(itemView);            txtName = itemView.findViewById(R.id.txtName);            parent = itemView.findViewById(R.id.parent);        }    }}

Viewing all articles
Browse latest Browse all 7195

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>