básicamente esta es mi aplicación (idea) para una tableta orientación horizontal: Dos fragmentos, fragmento de la izquierda es un archivo de lista poblado por un archivo resource.xml (funcionó).Programativamente agregar fragmentos al grupo de vista
Se supone que el fragmento derecho cambia dinámicamente el fragmento y el diseño según el elemento de la lista en que el usuario haga clic. Google hasta ahora me dijo que necesito agregar y eliminar programáticamente fragmentos a un grupo de vistas para hacer eso. ¿Está bien?
Básicamente la cuestión es/son:
- ¿Cómo se crea el ViewGroup y donde (Main.java o menufragment.java)?
- ¿Cómo coloco el ID dinámico "usuario hizo clic en ID 3 en la lista, así que agregue el fragmento 3 al grupo de vista"
- ¿Qué debo agregar a mi archivo main.xml? obtuvo el fragmento para el listfragment allí, ¿qué agregar para el grupo de vista dinámico?
EDIT:
Así que esto es lo que parece mi actividad como: Main.java
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Ésta es mi listfragment MenuFragment.java
public class MenuFragment extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.listfragment, container, false);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1,
getResources().getStringArray(R.array.listmenu)));
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
Main activity = (Main) getActivity();
}
}
y finalmente mi main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/list"
android:layout_width="200dp"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_weight="1"
class="com.mwerner.fragmentstest.MainMenu" />
<View
android:id="@+id/contentview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/list" />
</RelativeLayout>
La matriz de cadenas que tengo en mi archivo XML que rellena la lista se llama "listmenu"
Soy un principiante. Plaese dime ¿dónde debo poner el código que anotaste?
Gracias, Max
Un ViewGroup es solo un contenedor, como LinearLayout o RelativeLayout. Se debe agregar al archivo de diseño de la actividad (res/layout/activity.xml). Dale a tu ViewGroup una identificación y luego puedes hacer referencia a ella usando el método 'findViewById'. – twaddington