Java Recyclerview使用按钮查看多视图项目

Java Recyclerview使用按钮查看多视图项目,java,android,mvvm,android-recyclerview,Java,Android,Mvvm,Android Recyclerview,我想通过单击按钮(每个按钮有不同的视图)在Recylcerview上创建一个多视图。如何在适配器类或条件中编写代码以不同的方式查看它 这是我的密码。 适配器类 公共类TripAdapter扩展了RecyclerView.Adapter{ private List trips=new ArrayList() 你能解释一下多视图是什么意思吗?这回答了你的问题吗?@AbdulWaheed当我点击另一个按钮时,我已经在不同的Cardview中传递数据并显示给主要活动。 @NonNull @Overrid

我想通过单击按钮(每个按钮有不同的视图)在Recylcerview上创建一个多视图。如何在适配器类或条件中编写代码以不同的方式查看它

这是我的密码。 适配器类

公共类TripAdapter扩展了RecyclerView.Adapter{ private List trips=new ArrayList()


你能解释一下多视图是什么意思吗?这回答了你的问题吗?@AbdulWaheed当我点击另一个按钮时,我已经在不同的Cardview中传递数据并显示给主要活动。
@NonNull
@Override
public TripHolderOne onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.trip_item, parent, false);

    return new TripHolderOne(itemView);

}

@Override
public int getItemViewType(int position) {
    return super.getItemViewType(position);
}

@Override
public void onBindViewHolder(@NonNull TripHolderOne holder, int position) {
    Trip currentTrip = trips.get(position);
    holder.textViewTripTitle.setText(currentTrip.getTripTitle());
    holder.textViewDescription.setText(currentTrip.getDescription());
    holder.textViewPriority.setText(String.valueOf(currentTrip.getPriority()));
    holder.textViewStartDateTime.setText(currentTrip.getStartDateTime());

}


@Override
public int getItemCount() {
    return trips.size();
}

public void setTrips(List<Trip> trips) {
    this.trips = trips;
    notifyDataSetChanged();
}

public Trip getTripAt(int position) {
    return trips.get(position);
}


class TripHolderOne extends RecyclerView.ViewHolder {
    private TextView textViewTripTitle;
    private TextView textViewDescription;
    private TextView textViewPriority;
    private TextView textViewStartDateTime;

    public TripHolderOne(@NonNull View itemView) {
        super(itemView);
        textViewTripTitle = itemView.findViewById(R.id.text_view_title);
        textViewDescription = itemView.findViewById(R.id.text_view_description);
        textViewPriority = itemView.findViewById(R.id.text_view_priority);
        textViewStartDateTime = itemView.findViewById(R.id.text_view_start_date_time);


    }
}
    RecyclerView recyclerView = findViewById(R.id.recycler_view);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setHasFixedSize(true);
    final TripAdapter adapter = new TripAdapter();
    recyclerView.setAdapter(adapter);
    tripViewModel = new ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory.getInstance(this.getApplication())).get(TripViewModel.class);
    tripViewModel.getAllTrips().observe(this, new Observer<List<Trip>>() {
        @Override
        public void onChanged(@Nullable List<Trip> trips) {
            adapter.setTrips(trips);
        }
    });
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == ADD_TRANSPORTATION && resultCode == Activity.RESULT_OK){
        String title = data.getStringExtra(AddTripActivity.EXTRA_TITLE);
        String description = data.getStringExtra(AddTripActivity.EXTRA_DESCRIPTION);
        int priority = data.getIntExtra(AddTripActivity.EXTRA_PRIORITY, 1);
        String startDate = data.getStringExtra(AddTripActivity.EXTRA_START_DATE);
        String startTime = data.getStringExtra(AddTripActivity.EXTRA_START_TIME);
        String startDateTime = data.getStringExtra(AddTripActivity.EXTRA_START_DATE_TIME);
        Log.d("TAG", "Text from MainActivity2" + data.getStringExtra("text"));


        Trip trip = new Trip(title, description, priority, startDate,startTime,startDateTime);
        tripViewModel.insert(trip);

        Toast.makeText(this, "trip saved", Toast.LENGTH_SHORT).show();
     
    }