Hola, tenemos la solución a tu pregunta, has scroll y la encontrarás a continuación.
Solución:
Editar :
Esto es lo que usaría ahora. Las soluciones más antiguas y “más fáciles” están disponibles a continuación.
MyFragment extends Fragment implements CustomAdapter.EventListener
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
CustomAdapter adapter = new CustomAdapter(..., this);
void onEvent(int data)
doSomething(data);
CustomAdapter extends BaseAdapter
EventListener listener;
public interface EventListener
void onEvent(int data);
public CustomAdapter(..., EventListener listener)
this.listener = listener;
...
Ahora desde cualquier lugar del adaptador podemos llamar listener.onEvent(data);
para activar el método en el fragmento.
Además, en lugar de proporcionar un oyente a través del constructor, podemos agregar otro método en el adaptador, como registerListener(EventListener eventListener)
y luego mantenga una lista de oyentes si es necesario.
Respuesta antigua:
Solución 1: haga que el adaptador sea una clase interna de su fragmento, para que pueda llamar al método directamente.
Solución 2: actualice el constructor de su adaptador para aceptar el Fragmento como parámetro.
Algo como :
customAdapter = new CustomAdapter(myContext, android.R.layout.simple_list_item_1, getList, HomeFragment.this);
y actualice el constructor del adaptador:
public CustomAdapter(Context context, int id, HomeFragment fragment)
this.fragment = fragment;
luego llamas a los métodos usando la variable fragment.
fragment.doSomething();
Sección de Reseñas y Valoraciones
Recuerda algo, que puedes decir .