2015-11-17 2 views
2

Я пытаюсь отобразить информацию, выбирая элемент из ListView, я делаю это действие из фрагмента, и я пытаюсь позвонить другому Фрагмент для отображения. И я беру информацию из базы данных SQL, и я пытаюсь отправить ее в другой фрагмент. Вот мой код: Это TestimoniosFragment:Как отобразить два фрагмента по вертикали (мастер и детализация) в одном действии

public class TestimoniosFragment extends Fragment { 


boolean isDualPane; 

ListView listView; 
TextView idTestimonio; 
TextView nombre; 
TextView frase; 

ArrayList<HashMap<String, String>> oslist = new ArrayList<HashMap<String, String>>(); 

//URL to get JSON Array 
private static String url = "http://ucwm.co.nf/Testimonio_app.php"; 

//JSON Node Names 
private static final String TAG_TESTIMONIO = "testimonios"; 
private static final String TAG_ID = "IdTestimonio"; 
private static final String TAG_NOMBRE = "NombreSobreviviente"; 
private static final String TAG_FRASE = "Frase"; 

JSONArray testimonios = null; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.testimonios_layout, container, false); 

    //((MainActivity) getActivity()).getSupportActionBar().setTitle("Eventos"); 

    return view; 
} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onActivityCreated(savedInstanceState); 

    oslist = new ArrayList<HashMap<String, String>>(); 

    new JSONParse().execute(); 

} 

private class JSONParse extends AsyncTask<String, String, JSONObject> { 

    private ProgressDialog pDialog; 
    JSONParser jParser = new JSONParser(); 
    private JSONObject json; 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     idTestimonio = (TextView) getView().findViewById(R.id.txt1); 
     nombre = (TextView) getView().findViewById(R.id.txt2); 
     frase = (TextView) getView().findViewById(R.id.txt3); 

     pDialog = new ProgressDialog(getActivity()); 
     pDialog.setMessage("Cargando Datos..."); 
     pDialog.setIndeterminate(false); 
     pDialog.setCancelable(true); 
     pDialog.show(); 
    } 

    @Override 
    protected JSONObject doInBackground(String... args) { 

     // Getting JSON from URL 
     json = jParser.getJSONFromUrl(url); 

     return json; 
    } 

    @Override 
    protected void onPostExecute(JSONObject json) { 

     pDialog.dismiss(); 
     try { 
      // Getting JSON Array from URL 
      testimonios = json.getJSONArray(TAG_TESTIMONIO); 

      for (int i = 0; i < testimonios.length(); i++) { 

       JSONObject c = testimonios.getJSONObject(i); 

       // Storing JSON item in a Variable 
       final String idTestimonio = c.getString(TAG_ID); 
       String nombre = c.getString(TAG_NOMBRE); 
       String frase = c.getString(TAG_FRASE); 

       // Adding value HashMap key => value 
       HashMap<String, String> map = new HashMap<String, String>(); 
       map.put(TAG_ID, idTestimonio); 
       map.put(TAG_NOMBRE, nombre); 
       map.put(TAG_FRASE, frase); 

       oslist.add(map); 

       listView = (ListView) getView().findViewById(R.id.listView3); 

       ListAdapter adapter = new SimpleAdapter(getActivity(), oslist, 
         R.layout.list_item, 
         new String[]{TAG_ID,TAG_NOMBRE, TAG_FRASE}, new int[]{ 
         R.id.txt1, R.id.txt2,R.id.txt3}); 
       listView.setAdapter(adapter); 

       listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){ 
         FragmentManager fm = getFragmentManager(); 
         FragmentTransaction ft = fm.beginTransaction(); 
         ft.replace(R.id.containerT, new TestimoniosDetallado()); 
         ft.commit(); 
        } 
       }); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
} 

Это TestimoniosDetallado:

Вот XML из TestimoniosFragment:

<?xml version="1.0" encoding="utf-8"?> 
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:layout_width="match_parent" android:layout_height="match_parent"> 
 
    <RelativeLayout 
 
     android:orientation="vertical" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="match_parent" 
 
     android:id="@+id/containerT"> 
 

 
    <LinearLayout 
 
     android:orientation="horizontal" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="match_parent" 
 
     android:layout_marginLeft="20dp" 
 
     android:layout_marginRight="20dp" 
 
     android:layout_marginTop="20dp" 
 
     android:paddingTop="48dp" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true"> 
 

 
     <ListView 
 
      android:layout_width="wrap_content" 
 
      android:layout_height="wrap_content" 
 
      android:id="@+id/listView3" 
 
      android:layout_weight="1" /> 
 
     </LinearLayout> 
 

 
    </RelativeLayout> 
 

 
</RelativeLayout>

Вот форма XML TestimoniosDetallado:

<?xml version="1.0" encoding="utf-8"?> 
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    android:orientation="vertical" android:layout_width="match_parent" 
 
    android:layout_height="match_parent"> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceMedium" 
 
     android:text="nombre Sobreviviente" 
 
     android:id="@+id/nomb_sobreviviente" 
 
     android:layout_marginTop="139dp" 
 
     android:layout_alignParentTop="true" 
 
     android:layout_centerHorizontal="true" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceMedium" 
 
     android:text="Frase" 
 
     android:id="@+id/frase" 
 
     android:layout_below="@+id/nomb_sobreviviente" 
 
     android:layout_centerHorizontal="true" 
 
     android:layout_marginTop="151dp" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceLarge" 
 
     android:text="Descripcion" 
 
     android:id="@+id/descripcion" 
 
     android:layout_below="@+id/frase" 
 
     android:layout_centerHorizontal="true" 
 
     android:layout_marginTop="111dp" /> 
 
    </RelativeLayout>

и вместо того, чтобы заменить макет, это будет показано ниже в виде списка: Result from the code

+0

Это означает, что вы хотите отправить данные в listview другому фрагменту. ??? –

+0

Хороший вопрос для такого нового парня ... Добро пожаловать;) –

ответ

0

набор фон (цвет или вытяжке) к TestimoniosDetallado раскладка. Он отображает схему ur TestimoniosFragment в обратном направлении, потому что фон вашего макета TestimoniosDetallado не установлен, поэтому он прозрачен.

Смежные вопросы