问题
I need to create recyclerview cardview in fragment from the data that is written in a DiagloFragment
What would you do? How can I create a recycler view with the list once I press the button "HECHO"?
IMAGE CAPTURE DATA
Can you explain to me what should I do or even post an example please (done by you or posted somewhere else)?
Beforehand thank you very much.
DialogFragment class:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// View v = inflater.inflate(R.layout.fragment_captura_dialog_act, container, false);
View v = inflater.inflate(R.layout.frag_capactividades, container, false);
Spinner spinnerA;
spinnerA = (Spinner)v.findViewById(R.id.spinnerConf);
bguardar = (Button) v.findViewById(R.id.bGuaradrPaga);
codigo = (EditText) v.findViewById(R.id.tCodData) ;
precio = (EditText) v.findViewById(R.id.tPrecioData);
preciounidadextra = (EditText) v.findViewById(R.id.preciouextra);
cantidadminima = (EditText) v.findViewById(R.id.tCanMinData);
primadominical = (EditText) v.findViewById(R.id.tPrimaData);
final String tipojornada = spinnerA.getSelectedItem().toString();
bguardar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Code create recyclerview
empleado.guardaempleado(codigo.getText().toString(), precio.getText().toString(), preciounidadextra.getText().toString(), cantidadminima.getText().toString()
, primadominical.getText().toString(), tipojornada);
}
});
return v;
}
}
Card layout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/txtcodigoMostrar"
android:layout_width="1dp"
android:layout_height="1dp"
android:visibility="invisible" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="16sp"
android:layout_marginTop="16sp"
android:src="@drawable/ajusted" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginTop="10dp"
android:width="2dp"
android:gravity="right"
android:text="Apuntador"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtNombreMostrar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="4dp"
android:text="Nombre"
android:textAlignment="center"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginTop="10dp"
android:width="2dp"
android:gravity="right"
android:text="Precio"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtPrecioMostrar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="4dp"
android:text="Precio"
android:textAlignment="center"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:orientation="horizontal">
<Button
android:id="@+id/btnEditar"
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
android:layout_width="100dp"
android:layout_height="30dp"
android:text="Editar"
android:textSize="14dp"
android:visibility="invisible" />
</LinearLayout>
</androidx.cardview.widget.CardView>
Fragment class to cretae recyclerview:
public class empleado extends Fragment implements View.OnClickListener {
FloatingActionButton btndialog;
private SQLiteDatabase db;
RecyclerView idrecyclerview, recyclerView;
static List<ActividadesModel> listCont;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v5 = inflater.inflate(R.layout.activity_empleado, container, false);
RecyclerView recyclerView = v5.findViewById(R.id.idrecyclerviewCa);
//recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 1));
AdapterAct viewAdapter = new AdapterAct(getContext(), listCont);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(viewAdapter);
return v5;
}
public empleado(String codigo,String precio,String preciounidadextra,String cantidadminima,String primadominical,String tipojornada){
}
public static void guardaempleado(String codigo, String precio, String preciounidadextra, String cantidadminima, String primadominical, String tipojornada){
listCont = new ArrayList<>();
listCont.add(new ActividadesModel("codigo", "precio", "preciounidadextra", "cantidadminima", "primadominical", "tipojornada"));
}
private void ShowMessage() {
final String[] actividades = {"act1", "act2", "act3", "act4", "act5"};
final int itemSelected = 0;
new AlertDialog.Builder(getContext())
.setTitle("Selecciona la actividad")
.setSingleChoiceItems(actividades, itemSelected, new DialogInterface.OnClickListener() {
@Override
// public void onClick(DialogInterface dialogInterface, int selectedIndex) {
public void onClick(DialogInterface dialog, int position) {
// String nombreselect = empleados[position];
Toast.makeText(getContext(), "Position: " + position, Toast.LENGTH_SHORT).show();
String nombreselect = actividades[position];
SharedPreferences sharedPrefs = getActivity().getSharedPreferences("pref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("actividad", nombreselect);
editor.commit();
// empleado.setText(empleadotext);
}
})
// .setNeutralButton("OK", null)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// continue with delete
FragmentManager fm = getActivity().getSupportFragmentManager();
DialogFragment dialogs = new CapturaDialogAct(); // creating new object
dialogs.show(fm, "dialog");
}
})
.show();
}
CaptureDialog class:
public class CapturaDialogAct extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
TextView textView;
Button bguardar;
EditText codigo,precio,preciounidadextra, cantidadminima,primadominical;
Adapter rvAdapter;
RecyclerView recyclerView;
private static RecyclerView.Adapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// View v = inflater.inflate(R.layout.fragment_captura_dialog_act, container, false);
View v = inflater.inflate(R.layout.frag_capactividades, container, false);
Spinner spinnerA;
spinnerA = (Spinner)v.findViewById(R.id.spinnerConf);
bguardar = (Button) v.findViewById(R.id.bGuaradrPaga);
codigo = (EditText) v.findViewById(R.id.tCodData) ;
precio = (EditText) v.findViewById(R.id.tPrecioData);
preciounidadextra = (EditText) v.findViewById(R.id.preciouextra);
cantidadminima = (EditText) v.findViewById(R.id.tCanMinData);
primadominical = (EditText) v.findViewById(R.id.tPrimaData);
final String tipojornada = spinnerA.getSelectedItem().toString();
bguardar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Code create recyclerview
empleado.guardaempleado(codigo.getText().toString(), precio.getText().toString(), preciounidadextra.getText().toString(), cantidadminima.getText().toString()
, primadominical.getText().toString(), tipojornada);
}
});
return v;
}
}
Model:
public class ActividadesModel implements Serializable {
private String codigo ,precio, preciounidadextra, cantidadminima, primadominical, tipojordana;
public ActividadesModel( String precio, String preciounidadextra, String cantidadminima, String primadominical, String codigo, String tipojordana){
this.codigo = codigo;
}
public String getCodigo()
{
return codigo;
}
public void setCodigo(String codigo){
this.codigo = codigo;
}
public String getPrecio(){
return precio;
}
public void setPrecio(){
this.precio = precio;
}
public String getPreciounidadextra(){
return preciounidadextra;
}
public void setPreciounidadextra(){
this.preciounidadextra = preciounidadextra;
}
public String getCantidadminima(){
return cantidadminima;
}
public void setCantidadminima(){
this.cantidadminima = cantidadminima;
}
public String getPrimadominical(){
return primadominical;
}
public void setPrimadominical(){
this.primadominical = primadominical;
}
public String getTipojordana(){
return tipojordana;
}
public void setTipojordana(){
this.tipojordana = tipojordana;
}
}
Add ADapter:
public class AdapterAct extends RecyclerView.Adapter<AdapterAct.MyViewHolder> implements Filterable {
private List<ActividadesModel> actividadesModelList = new ArrayList<>();
private Context context;
private List<ActividadesModel> actividadesArrayList;
private IAxiliarActividades iAxiliarActividades;
List<ActividadesModel> contactList;
public AdapterAct(Context context, List<ActividadesModel> listCont) {
this.context = context;
this.contactList = contactList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
// return null;
View v;
v = LayoutInflater.from(context).inflate(R.layout.card_actividad, parent, false);
MyViewHolder myViewHolder = new MyViewHolder(v);
return myViewHolder;
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
TextView name;
TextView precio;
public MyViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.txtNombreMostrar);
precio = (TextView) itemView.findViewById(R.id.txtPrecioMostrar);
}
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
//Codigo para crear el listado de acitividades
}
@Override
public int getItemCount() {
return 0;
}
@Override
public Filter getFilter() {
return null;
}
public class myViewHolder extends RecyclerView.ViewHolder {
TextView nombre, precio;
public myViewHolder(@NonNull View itemView) {
super(itemView);
}
}
}
回答1:
Please follow below steps to create interface listener for the the DialogFragment
input to be returned to your fragment.
- Step 1: Create an interface inside the
CapturaDialogAct
DialogFragment
, and an instance field of it: - Step 2: Modify the
CapturaDialogAct
to accept an argument of this interface - Step 3: Trigger the interface method whenever you click the
DialogFragment
button.
class CapturaDialogAct extends DialogFragment {
...
// Step 1
public interface OnSelectionListener {
void onConfirmed(String codigo, String precio, String preciounidadextra, String cantidadminima
, String primadominical, String tipojornada);
}
private OnSelectionListener mOnSelectionListener;
// Step 2
public CapturaDialogAct(OnSelectionListener listener) {
this.mOnSelectionListener = listener;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// View v = inflater.inflate(R.layout.fragment_captura_dialog_act, container, false);
View v = inflater.inflate(R.layout.frag_capactividades, container, false);
//..... reset of code
bguardar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Code create recyclerview
empleado.guardaempleado(codigo.getText().toString(), precio.getText().toString(), preciounidadextra.getText().toString(), cantidadminima.getText().toString()
, primadominical.getText().toString(), tipojornada);
// Step 3
if (mOnSelectionListener != null) {
mOnSelectionListener.onConfirmed(codigo.getText().toString(), precio.getText().toString(), preciounidadextra.getText().toString(), cantidadminima.getText().toString()
, primadominical.getText().toString(), tipojornada);
}
}
});
}
}
Step 4: at your fragment, change the instantiation of the DialogFragment
to implement the interface and handle the returned text with its callback
Replace
DialogFragment dialogs = new CapturaDialogAct(); // creating new object
With
// Step 4
DialogFragment dialogs = new CapturaDialogAct(new CapturaDialogAct.OnSelectionListener() {
@Override
public void onConfirmed(String codigo, String precio, String preciounidadextra, String cantidadminima
, String primadominical, String tipojornada) {
// Do whatever you want with the received text from the DialogFragment
});
UPDATE
It already performs all the steps, it does not mark an error but it does not create the cardview, I will add the adapter to the post In Step 4 change the list of the RecyclerView adapter, and update the UI.
DialogFragment dialogs = new CapturaDialogAct(new CapturaDialogAct.OnSelectionListener() {
@Override
public void onConfirmed(String codigo, String precio, String preciounidadextra, String cantidadminima
, String primadominical, String tipojornada) {
// Do whatever you want with the received text from the DialogFragment
listCont = new ArrayList<>();
listCont.add(new ActividadesModel(codigo, precio, preciounidadextra, cantidadminima, primadominical, tipojornada));
AdapterAct viewAdapter = new AdapterAct(getContext(), listCont);
RecyclerView recyclerView = getView().findViewById(R.id.idrecyclerviewCa);
//recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 1));
AdapterAct viewAdapter = new AdapterAct(getContext(), listCont);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(viewAdapter);
});
Edit
You get an error as you define the RecyclerView as a local variable to onCreateView
, so you need to select the class RecyclerView field instead.
So, the change
public class empleado extends Fragment implements View.OnClickListener {
RecyclerView idrecyclerview, recyclerView; // this is the field class variable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v5 = inflater.inflate(R.layout.activity_empleado, container, false);
recyclerView = v5.findViewById(R.id.idrecyclerviewCa); // here is the change
Then, added dismiss()
when you hit the dialog hide in order to hide it.
So, in your dialog fragment add dismiss() as below
bguardar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Code create recyclerview
empleado.guardaempleado(codigo.getText().toString(), precio.getText().toString(), preciounidadextra.getText().toString(), cantidadminima.getText().toString()
, primadominical.getText().toString(), tipojornada);
// Step 3
if (mOnSelectionListener != null) {
mOnSelectionListener.onConfirmed(codigo.getText().toString(), precio.getText().toString(), preciounidadextra.getText().toString(), cantidadminima.getText().toString()
, primadominical.getText().toString(), tipojornada);
}
dismiss(); /// <<<<< here is the change
}
});
Also made the adapter as a fragment class field in order to use it when you dismiss the dialog so created AdapterAct mViewAdapter
in empleado
fragment
Here is the your entire fragment after this modificaiton
public class empleado extends Fragment implements View.OnClickListener {
//private static ArrayList<Object> listCont;
FloatingActionButton btndialog;
// public static TextView empleado;
private SQLiteDatabase db;
RecyclerView idrecyclerview, recyclerView;
static List<ActividadesModel> listCont;
private AdapterAct mViewAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v5 = inflater.inflate(R.layout.activity_empleado, container, false);
recyclerView = v5.findViewById(R.id.idrecyclerviewCa);
recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 1));
listCont = new ArrayList<>();
mViewAdapter = new AdapterAct(getContext(), listCont);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(mViewAdapter);
return v5;
}
//public empleado(String codigo,String precio,String preciounidadextra,String cantidadminima,String primadominical,String tipojornada){
public empleado() {
// listCont = new ArrayList<>();
// listCont.add(new ActividadesModel("precio", "preciounidadextra", "cantidadminima", "primadominical", "codigo", "tipojornada"));
}
public static void guardaempleado(String codigo, String precio, String preciounidadextra, String cantidadminima, String primadominical, String tipojornada) {
listCont = new ArrayList<>();
listCont.add(new ActividadesModel(precio, preciounidadextra, cantidadminima, primadominical, codigo, tipojornada));
// new empleado();
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
setHasOptionsMenu(true);
super.onCreate(savedInstanceState);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
//inflate menu
inflater.inflate(R.menu.menu_main, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//handle menu item clicks
int id = item.getItemId();
if (id == R.id.action_settings) {
//do your function here
Toast.makeText(getActivity(), "Sincronizar", Toast.LENGTH_SHORT).show();
}
if (id == R.id.action_sort) {
//do your function here
Toast.makeText(getActivity(), "Buscar", Toast.LENGTH_SHORT).show();
}
if (id == R.id.action_hoy) {
//do your function here
Toast.makeText(getActivity(), "Hoy", Toast.LENGTH_SHORT).show();
}
if (id == R.id.action_anterior) {
//do your function here
Toast.makeText(getActivity(), "Ayer", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
private static String PREF_NAME = "prefs";
SharedPreferences sharedpreferences;
public static final String mypreference = "mypref";
private Context mContext;
@Override
public void onViewCreated(View v5, Bundle savedInstanceState) {
//public void onClick(View v5) {
FloatingActionButton btndialog = (FloatingActionButton) v5.findViewById(R.id.floatingActionButton);
final String[] nivelItems = getResources().getStringArray(R.array.nivel);
final int itemSelected = 0;
try {
btndialog.setOnClickListener(new View.OnClickListener() {
// JSONObject js = createJsonObjectInv();
// JSONArray arr = js.getJSONArray("data");
//JSONArray arr3 = js.getJSONArray("data");
//String[] list = new String[arr.length()];
//String[] arr2 = arr.toString().replace("},{", " ,").split(" ");
//@Override
public void onClick(View v) {
try {
JSONObject js = createJsonObjectInv();
JSONArray arr = js.getJSONArray("data");
final String[] list = new String[arr.length()];
for (int i = 0; i <= arr.length() - 1; i++) {
JSONObject element = arr.getJSONObject(i);
String InvernaderoId = "\"invernaderoId\":\"" + element.getString("invernaderoId") + "\", ";
String Name = "\"name\":\"" + element.getString("name") + "\", ";
String Invernarder = "\"Invernarder\":\"" + element.getString("Invernarder") + "\"";
//list[i] = InvernaderoId + Name + Invernarder;
list[i] = Name.substring(8);
}
// final String[] empleados = {"Luis", "Daniel", "Juan", "Jose", "Cesar"};
// final String[] empleados = arr2;
new AlertDialog.Builder(getContext())
.setTitle("Selecciona el Invernadero")
// .setSingleChoiceItems(empleados, itemSelected, new DialogInterface.OnClickListener() {
.setSingleChoiceItems(list, -1, new DialogInterface.OnClickListener() {
@Override
// public void onClick(DialogInterface dialogInterface, int selectedIndex) {
public void onClick(DialogInterface dialog, int position) {
// String nombreselect = empleados[position];
Toast.makeText(getContext(), "Position: " + position, Toast.LENGTH_SHORT).show();
String empleadotext = list[position];
//empleado.setText(empleadotext);
// SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences sharedPrefs = getActivity().getSharedPreferences("pref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("inver", empleadotext);
editor.commit();
}
})
//.setPositiveButton("Ok", null)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// continue with delete
ShowMessage();
}
})
.setNegativeButton("Cancel", null)
.show();
} catch (Exception e) {
e.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
private void ShowMessage() {
final String[] actividades = {"act1", "act2", "act3", "act4", "act5"};
final int itemSelected = 0;
new AlertDialog.Builder(getContext())
.setTitle("Selecciona la actividad")
.setSingleChoiceItems(actividades, itemSelected, new DialogInterface.OnClickListener() {
@Override
// public void onClick(DialogInterface dialogInterface, int selectedIndex) {
public void onClick(DialogInterface dialog, int position) {
// String nombreselect = empleados[position];
Toast.makeText(getContext(), "Position: " + position, Toast.LENGTH_SHORT).show();
String nombreselect = actividades[position];
SharedPreferences sharedPrefs = getActivity().getSharedPreferences("pref", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("actividad", nombreselect);
editor.commit();
// empleado.setText(empleadotext);
}
})
// .setNeutralButton("OK", null)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// continue with delete
/* FragmentManager fm = getActivity().getSupportFragmentManager();
DialogFragment dialogs = new CapturaDialogAct(); // creating new object
dialogs.show(fm, "dialog");
*/
FragmentManager fm = getActivity().getSupportFragmentManager();
/* DialogFragment dialogs = new CapturaDialogAct(new CapturaDialogAct.OnSelectionListener() {
@Override
public void onConfirmed(String codigo, String precio, String preciounidadextra, String cantidadminima
, String primadominical, String tipojornada) {
// Do whatever you want with the received text from the DialogFragment
}
});*/
DialogFragment dialogs = new CapturaDialogAct(new CapturaDialogAct.OnSelectionListener() {
@Override
public void onConfirmed(String codigo, String precio, String preciounidadextra, String cantidadminima
, String primadominical, String tipojornada) {
// Do whatever you want with the received text from the DialogFragment
/*
AdapterAct viewAdapter = new AdapterAct(getContext(), listCont);
recyclerView.setAdapter(viewAdapter);
*/
// RecyclerView recyclerView = getView().findViewById(R.id.idrecyclerviewCa);
//recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 1));
mViewAdapter.addItem(new ActividadesModel(codigo, precio, preciounidadextra, cantidadminima, primadominical, tipojornada));
}
});
dialogs.show(fm, "dialog");
}
})
.show();
}
public JSONObject createJsonObjectInv() throws JSONException {
Cursor cursor = getAllDataInv();
JSONObject jobj;
JSONArray arr = new JSONArray();
cursor.moveToFirst();
while (cursor.moveToNext()) {
jobj = new JSONObject();
jobj.put("invernaderoId", cursor.getString(0));
jobj.put("name", cursor.getString(1));
jobj.put("Invernarder", cursor.getString(4));
arr.put(jobj);
}
jobj = new JSONObject();
jobj.put("data", arr);
return jobj;
}
//Syncronizador de datos a servicio
public Cursor getAllDataInv() {
String selectQuery = "Select * from Invernadero";
SQLiteDatabase db = new MyHelper(getActivity()).getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
//Cursor cursor = db.rawQuery("select * from capturas where syncstatus= ?", new String[] {"0"});
return cursor;
}
@Override
public void onClick(View v) {
}
}
And for your adapter, added a new method called addItem
that accepts a new row in the adapter and notifiy change in last item.
public class AdapterAct extends RecyclerView.Adapter<AdapterAct.MyViewHolder> implements Filterable {
private List<ActividadesModel> actividadesModelList;
private Context context;
private List<ActividadesModel> actividadesArrayList;
private IAxiliarActividades iAxiliarActividades;
List<ActividadesModel> contactList;
// Este es nuestro constructor (puede variar según lo que queremos mostrar)
private String[] mDataSet;
private List<ActividadesModel> listCont;
public AdapterAct(Context context, List<ActividadesModel> listCont) {
this.context = context;
this.contactList = listCont;
this.listCont = listCont;
}
public AdapterAct(String[] myDataSet) {
mDataSet = myDataSet;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
// return null;
View v;
v = LayoutInflater.from(context).inflate(R.layout.card_actividad, parent, false);
return new MyViewHolder(v);
}
public void addItem(ActividadesModel item) {
this.listCont.add(item);
notifyItemChanged(listCont.size() - 1);
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
TextView name;
TextView precio;
public MyViewHolder(View itemView) {
super(itemView);
this.name = (TextView) itemView.findViewById(R.id.txtNombreMostrar);
this.precio = (TextView) itemView.findViewById(R.id.txtPrecioMostrar);
}
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
ActividadesModel actividadesModel = listCont.get(position);
//Codigo para crear el listado de acitividades
// holder.name.setText("nameprueba");
holder.precio.setText(actividadesModel.getCodigo());
holder.precio.setText(actividadesModel.getPrecio());
// holder.precio.setText("precio23");
}
@Override
public int getItemCount() {
return listCont == null ? 0 : listCont.size();
}
@Override
public Filter getFilter() {
return null;
}
}
来源:https://stackoverflow.com/questions/62518705/recyclerview-cardview-from-dialogfragment-in-fragment-page