¿Cómo inflar un diseño dinámicamente?
Tengo la siguiente disposición definida en XML:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/streamRelativeLayout"> <ListView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/streamListView"></ListView> <ProgressBar android:layout_centerInParent="true" android:layout_height="wrap_content" android:id="@+id/streamProgressBar" android:layout_width="wrap_content"></ProgressBar> </RelativeLayout>
¿Cómo puedo usar el LayoutInflater para tomar el ListView y el ProgressBar y asignarlo en código?
- El contexto de la aplicación devuelve null cuando se utiliza getFilesDir ()
- Android SignalR debe implementarse como Service o IntentService?
- ¿Cómo crearía una nueva actividad donde tendría la opción de agregar nuevos elementos de la base de datos?
- Cómo limitar EditText para introducir sólo valores de flotante en Java?
- Luz de flash no detectada
- Verificar firma digital en Android
- Dibujo sobre lienzo y varios objetos de pintura
- Listview items Animación Parar mientras se desplaza
- ¿Se recomienda comprobar la vista de null con cada llamada findViewById?
- ¿Cuál es la forma correcta de configurar Android applicationId cuando se utilizan dimensiones de sabor?
- Problema básico de Java / Eclipse: las bibliotecas estándar no se pueden importar en el proyecto de Android
- Cómo agregar TableRow de xml a TableLayout mediante programación?
- Color del gradiente para el gráfico de línea dentro de AchartEngine
De este modo:
View v = getLayoutInflater().inflate(R.layout.YOUR_LAYOUT_ID, null); ListView listview = (ListView) v.findViewById(R.id.streamListView); ProgressBar progress = (ProgressBar) v.findViewById(R.id.streamProgressBar);
Sólo necesita la referencia de actividad y llame al:
RelativeLayout relativeLayout = (RelativeLayout)activity.getLayoutInflater().inflate(R.layout.your_layout, null);
A continuación, puede tomar la vista de dos con sus ids
relativeLayout.findViewById(R.id.anId);
prueba esto
RelativeLayout myLayout = (RelativeLayout)getLayoutInflater().inflate( R.layout.you_xml_id, null); ListView list = (ListView)myLayout.findViewById(R.id.streamListView); ProgressBar bar = (ProgressBar)myLayout.findViewById(R.id.streamProgressBar);
private LayoutInflater mInflater; View convertView; mInflater = LayoutInflater.from(context); convertView = mInflater.inflate(R.xml.yourxmlname, null);
ahora usted puede tener acceso a los artículos por
convertView.findViewById
o si tiene muchas instancias, puede definir un observador
static class CalViewHolder { ListView con_list; Progressbar con_progress; } holder = new CalViewHolder(); convertView.setTag(holder);
- Mostrar un cuadro de texto de edición al hacer clic en un botón
- Problema con OAuth, Twitter y Android: falla en la comunicación http con el servidor