gpt4 book ai didi

android - 从 ViewHolder onclick 开始 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:26 24 4
gpt4 key购买 nike

我正在尝试在用户单击 RecycleView 元素时开始新 Activity 。问题是我想传递给 JSON 的对象字段只有一个显示在 row_item 布局中,并且不知道如何检索其他 3 个对象字段。

以下是我遵循的步骤。

首先,我将对象列表 (Poliza) 发送到适配器。其次,我在 RecycleView 中仅显示对象 (poliza) 的一个字段。第三,我想在用户单击 RecycleView item 时启动一个新 Activity ,发送对象的 JSON 以及 row_item 中未显示的其他对象字段。

这是我的适配器

public class PolizasAdapter extends RecyclerView.Adapter<PolizasAdapter.PolizaViewHolder> {

private List<Poliza> listapoliza = null;
private Context context;

public PolizasAdapter( List<Poliza> listapoliza) {
this.listapoliza = listapoliza;
}

public class PolizaViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
// each data item is just a string in this case
TextView txtPoliza;

public PolizaViewHolder(View view) {
super(view);
//Agregamos un onclickListener
view.setOnClickListener(this);
context = view.getContext();
//Hacemos referencia a las vistas del rowitem
txtPoliza = (TextView) view.findViewById(R.id.txt_poliza);
}

@Override
public void onClick(View view) {
//Evento que que se genera cuando se da click
TextView texto = (TextView) view.findViewById(R.id.txt_poliza);
String str = texto.getText().toString();
System.out.println(str);
//Iniciamos actividad mostrando el detalle

Intent intent = new Intent(context , DetalleActivity.class);
intent.putExtra("id_poliza",str);
//Whats next ?
//How to add the other 3 fields of my object to the putExtra


}
}

@Override
public PolizasAdapter.PolizaViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//Creamos una nueva vista
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_item, parent, false);
PolizaViewHolder viewHolder = new PolizaViewHolder(view);
return viewHolder;
}

@Override
public void onBindViewHolder(PolizasAdapter.PolizaViewHolder holder, int position) {

holder.txtPoliza.setText("Poliza : " + String.valueOf(listapoliza.get(position).getPoliza()));
}

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

最佳答案

要启动 Activity,您应该执行 context.startActivity(intent);至于你正在谈论的 3 JSON 参数,我在你的代码中找不到它们的任何引用(没有任何 JSON 的引用)。我猜你可能在谈论 Poliza 对象的场,但我不能确定。

关于android - 从 ViewHolder onclick 开始 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com