【发布时间】:2017-04-17 20:39:19
【问题描述】:
当点击卡片视图时,我正在使用卡片视图创建一个回收器视图,它会打开一个新活动,而且我需要传递我的 firebase 数据库的子节点的名称/ID,我已经查看了很多教程,但我不是了解如何实现但徒劳无功,以下是我的代码,我制作了一个 itemClickListener 接口来传递视图和位置。
公共类 MedicalData 扩展 AppCompatActivity {
private RecyclerView patientdata;
private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_medical_data);
mDatabase = FirebaseDatabase.getInstance().getReference().child("Patients");
patientdata = (RecyclerView) findViewById(R.id.patientdata);
patientdata.setHasFixedSize(true);
patientdata.setLayoutManager(new LinearLayoutManager(this));
}
@Override
public void onStart() {
super.onStart();
FirebaseRecyclerAdapter<PatientRequest, DataViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<PatientRequest, DataViewHolder>(
PatientRequest.class,
R.layout.datatype,
DataViewHolder.class,
mDatabase
) {
@Override
public void populateViewHolder(DataViewHolder viewHolder, PatientRequest model, int position) {
viewHolder.setName(model.getPatientName());
viewHolder.setAge(model.getPatientAge());
viewHolder.setonClickListener(new ItemClickListener() {
@Override
public void onItemClick(View v, int pos) {
Intent int2 = new Intent(MedicalData.this, ShowPatientDetails.class);
MedicalData.this.startActivity(int2);
}
});
}
};
patientdata.setAdapter(firebaseRecyclerAdapter);
}
public static class DataViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
View mView;
ItemClickListener itemClickListener;
public DataViewHolder(View itemView) {
super(itemView);
mView = itemView;
itemView.setOnClickListener(this);
}
public void setName(String name) {
TextView pname = (TextView) mView.findViewById(R.id.pname1);
pname.setText(name);
}
public void setAge(String age) {
TextView page = (TextView) mView.findViewById(R.id.page1);
page.setText(age);
}
@Override
public void onClick(View v) {
this.itemClickListener.onItemClick(v , getLayoutPosition());
}
public void setonClickListener(ItemClickListener ic)
{
this.itemClickListener=ic;
}
}
}
【问题讨论】:
-
我不确定您在这篇文章中的要求是什么?您是否希望正确实现 recyclerview 适配器?
-
我想要一个 onclick 功能适用于我的 recyclerview 中显示的卡片视图,这样当我选择卡片时,我可以移动到下一个活动
标签: android android-recyclerview android-cardview