Como se asocian los activity y los xml de layout

Z

Estoy tocando un poco de desarrollo de android y no consigo ver donde se relacionan los archivos xml de layout con las activitys, es decir donde dice este layout es de este activity.Concretamente estoy mirando un adapter para una lista y hay que hacer un xml para cada item de la lista y no se como se corresponde el xml con el item.

cabron

Hace mucho que no toco nada de Android, solo me acuerdo de cosas sueltas así que no te fíes mucho de lo que te diga, ¿pero este tipo de cosas no iban en el manifest.xml?

Z

Me acabo de dar cuenta que van en el oncreate

setContentView(R.layout.fichero_layout);

y con inflate en el caso de la listview

1 respuesta
varuk

#3 Sí, siempre justo después de la llamada al super:

Si tienes el archivo activity_main.xml pues así lo "seteas" en la actividad. Luego, como ves en el ejemplo de abajo también, pues obtienes los diferentes elementos de ese XML (como un TextView o un boton) de la forma esa que pongo en el ejemplo:

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
//--- text view--- TextView txtView = (TextView) findViewById(R.id.text_id); String miTexto = txtView.getText().toString(); }
}

El XML sería este:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >
   
<TextView android:id="@+id/text_id" android:layout_width="300dp" android:layout_height="200dp" android:capitalize="characters" android:text="hello_world" android:textColor="@android:color/holo_blue_dark" android:textColorHighlight="@android:color/primary_text_dark" android:layout_centerVertical="true" android:layout_alignParentEnd="true" android:textSize="50dp"/> </RelativeLayout>
1
Fastestwat

#1 Te recomiendo que te mires Butterknife.