Я пытаюсь передать данные из адаптера в действие и отобразить их в окне повторного использования.Я получаю исключение NullPointerException при запуске приложения.Что я делаю не так?
Это действие, в котором я хочу отобразить данные :
public class ListOfChatsActivity extends AppCompatActivity {
Toolbar lToolbar;
RecyclerView lRV;
BottomNavigationView lBnv;
ListOfChatsAdapter adapter;
LinearLayoutManager layoutManager;
ArrayList<String> chatList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_of_chats);
lToolbar = findViewById(R.id.lToolbar);
lRV = findViewById(R.id.lRV);
lBnv = findViewById(R.id.lBnv);
Intent intent = this.getIntent();
if(intent!=null){
String string = intent.getStringExtra("username");
chatList.add(string);}
adapter = new ListOfChatsAdapter(chatList, getApplicationContext());
layoutManager = new LinearLayoutManager(getApplicationContext());
lRV.setAdapter(adapter);
lRV.setLayoutManager(layoutManager);
}
Это адаптер, откуда я хочуотправьте данные:
public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder> {
ArrayList<User> friendsSearchedList = new ArrayList<>();
Context mContext;
public SearchAdapter(ArrayList<User> friendsSearchedList, Context mContext){
this.friendsSearchedList = friendsSearchedList;
this.mContext = mContext;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.search_user_item,
parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
final User username = friendsSearchedList.get(position);
holder.text.setText(username.getUsername());
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String iUsername = holder.text.getText().toString();
Intent intent = new Intent();
intent.putExtra("username", iUsername);
}
});
}
@Override
public int getItemCount() {
return friendsSearchedList == null ? 0:friendsSearchedList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView text;
Button button;
RelativeLayout relativeLayout;
public ViewHolder(View itemView){
super(itemView);
text = itemView.findViewById(R.id.sText);
button = itemView.findViewById(R.id.addFriend);
relativeLayout = itemView.findViewById(R.id.relativeLayout);
}
}
}
Я не открываю активность с этого адаптера.Я просто хочу отправить статисты.Я пробовал больше вариантов, но я не понял правильно.