我的问题是在回收站视图中单击每个项目,所选项目应显示在第二个屏幕中。应该滑动第二个屏幕显示所选项目,以查看列表中的下一个项目。如何实现这一目标,请给我一些想法或帮助我。
我已尝试将数据与回收站绑定,但是在单击回收站视图活动后无法使第二个活动滑动
//适配器
package com.example.myassignment.Adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.myassignment.Model.ListModel;
import com.example.myassignment.R;
import java.util.List;
public class ListViewAdaters extends RecyclerView.Adapter<ListViewAdaters.ListViewHolders> {
private List<ListModel> itemArrayList;
private Context mContext;
private ItemOnClick onClickListener;
public ListViewAdaters(List<ListModel> itemArrayList, Context mContext,ItemOnClick onClickListener) {
this.itemArrayList = itemArrayList;
this.mContext = mContext;
this.onClickListener = onClickListener;
}
@NonNull
@Override
public ListViewHolders onCreateViewHolder(@NonNull ViewGroup viewGroup, int pos) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_item,viewGroup,false);
return new ListViewHolders(v);
}
@Override
public void onBindViewHolder(ListViewHolders listViewHolders, int pos) {
ListModel listModel = (ListModel) itemArrayList.get(pos);
listViewHolders.image_veg.setImageResource(listModel.getImageDrawable());
listViewHolders.title.setText(listModel.getTitleName());
listViewHolders.titleDesp.setText(listModel.getTitleDesp());
listViewHolders.textRating.setText(listModel.getRating());
}
@Override
public int getItemCount() {
return itemArrayList.size();
}
public class ListViewHolders extends RecyclerView.ViewHolder {
ImageView image_veg;
TextView titleDesp, title, textRating;
public ListViewHolders(@NonNull View itemView) {
super(itemView);
image_veg = (ImageView) itemView.findViewById(R.id.imageView);
title = (TextView) itemView.findViewById(R.id.textView);
titleDesp = (TextView) itemView.findViewById(R.id.textView2);
textRating = (TextView) itemView.findViewById(R.id.textView3);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickListener.itemClick(getAdapterPosition());
}
});
}
}
public interface ItemOnClick {
void itemClick(int adapterposition);
}
}
// Activity
public class MainActivity extends AppCompatActivity implements ListViewAdaters.ItemOnClick {
private RecyclerView mListView;
private List<ListModel> itemList = new ArrayList<>();
private ListViewAdaters listViewAdaters;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = (RecyclerView) findViewById(R.id.recycler_view);
mListView.setLayoutManager(new LinearLayoutManager(this));
listViewAdaters = new ListViewAdaters(itemList,this,this);
mListView.setAdapter(listViewAdaters);
getListData();
}
private void getListData() {
itemList.add(new ListModel("Test","This is a text description",R.drawable.ic_automobile,"2.6"));
itemList.add(new ListModel("Test1","This is a text1 description",R.drawable.ic_automobile_new,"2.4"));
itemList.add(new ListModel("Test2","This is a text2 description",R.drawable.ic_car,"2.5"));
itemList.add(new ListModel("Test3","This is a text3 description",R.drawable.ic_car_one,"3.0"));
itemList.add(new ListModel("Test4","This is a text4 description",R.drawable.ic_car_two,"3.7"));
itemList.add(new ListModel("Test5","This is a text description",R.drawable.ic_racing,"3.8"));
itemList.add(new ListModel("Test6","This is a text1 description",R.drawable.ic_suv,"2.9"));
listViewAdaters.notifyDataSetChanged();
}
@Override
public void itemClick(int adapterposition) {
ListModel listModel = (ListModel) itemList.get(adapterposition);
Intent intent = new Intent(this, ListDetailsActivity.class);
intent.putExtra("image", listModel.getImageDrawable());
intent.putExtra("desp",listModel.getTitleDesp());
intent.putExtra("title",listModel.getTitleName());
startActivity(intent);
}
}