Android - Llamar a un fragment desde un listfragment

   
Vista:

Llamar a un fragment desde un listfragment

Publicado por Grover (1 intervención) el 21/05/2016 19:47:11
Hola a todos quería saber si me pueden apoyar, tengo un proyecto en el cuál he implementado un tablayout con 3 tabs, para cada tabs tengo un fragment asignado, para el primer tab tengo un listfragment y muestro la lista de forma correcta, pero al seleccionar un elemento de la lista quiero que el fragment cambie por otro que tambien va mostrar otra lista.

Por ejemplo tengo una lista de categorias, en el fragment de tipo listfragment en el primer tab, pero al seleccionar un elemento de la lista quiero mostrar los items hijo de esa categoria en otra lista, pero en el mismo tab, alcanzo el código, como manejo ese cambio, es decir llamar otro fragmento del tipo listfragment desde un listfragment.

Archivo: TabCategoríasFragment.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.gydsoluciones.grva.recetasperu;
 
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.ListFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
 
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.JsonArrayRequest;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
/**
 * Created by grva on 20/05/2016.
 */
public class TabCategoriasFragment extends ListFragment{
 
    String[] categorias = {"Licores","Sopas","Pescados y Mariscos","Arroces","Ensaladas","Repostería","Salsas"};
    Integer[] pics = {R.drawable.licores,R.drawable.sopas,R.drawable.pescadosmariscos,R.drawable.arroces,R.drawable.ensaladas,R.drawable.reposteria,R.drawable.salsas};
    String[] descripcion = {
            "Los mejores licores","Selección de las mejores sopas y caldos",
            "Los mejores platos a base de pescados y mariscos","Arroz con pollo, Arroz chaufa, entre otros",
            "Las mejores ensaladas frescas","Lo mejor para endulzar el momento","Las mejores salsas basadas en la variedad peruana"
    };
 
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        CategriaListAdapter adapter = new CategriaListAdapter(getActivity(),categorias,pics,descripcion);
        setListAdapter(adapter);
        return inflater.inflate(R.layout.lista_categorias,container,false);
    }
 
    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        String itemText = categorias[+position];
 
        String url = "http://10.0.2.2/android/datos.php?cate=" + ++position;
        ProgressDialog pDialog = new ProgressDialog(getContext());
        pDialog.setMessage("Cargando...");
        pDialog.show();
 
        final JsonArrayRequest req = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                Log.d("json_array_req",response.toString());
                try {
                    String[] recetas = new String[response.length()];
                    for (int i = 0; i < response.length(); i++) {
                        JSONObject receta = (JSONObject) response.get(i);
                        recetas[i] = receta.getString("titurece");
                    }
                }catch(JSONException e)
                {
                    Log.d("json_array_req", e.toString());
                }
            }
        },new Response.ErrorListener(){
            @Override
            public void onErrorResponse(VolleyError error){
                VolleyLog.d("json_array_req","Error:" + error.getMessage());
            }
        });
        AppController.getInstance().addToRequestQueue(req,"json_array_req");
        pDialog.hide();
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder