1

J'ai appelé une mise en page thumb_unit.xmlUtilisation de la mise en page comme sous-produit et accès par programmation dans Android?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="320dp" 
    android:layout_height="240dp" 
    android:orientation="horizontal" 
    > 

    <ImageView 
     android:id="@+id/thumbImage" 
     android:layout_marginLeft="10dp" 
     android:layout_width="160dp" 
     android:layout_height="220dp" 
     android:scaleType="fitXY" 
     android:src="@drawable/app_icon" 
      android:layout_marginTop="20dp"/> 

    <LinearLayout 
     android:layout_width="160dp" 
     android:layout_height="match_parent" 
     android:layout_marginTop="20dp" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/issueName" 
      android:layout_width="wrap_content" 
      android:layout_height="30dp" 
      android:text="Summer 2012" 
      android:textSize="18dp" 
      android:layout_marginLeft="6dp" 
      /> 

     <TextView 
      android:id="@+id/description" 
      android:layout_width="match_parent" 
      android:layout_height="151dp" 
      android:layout_marginLeft="6dp" 
      android:text="Description" 
      android:textSize="14dp" 
      android:textStyle="italic" /> 

     <Button 
      android:id="@+id/view_download" 
      android:layout_marginTop="5dp" 
      android:layout_width="80dp" 
      android:layout_marginLeft="5dp" 
      android:layout_height="30dp" 
      android:text="View" 
      android:textSize="14dp" 
      android:textColor="@drawable/push_button_text_color" 
      android:background="@drawable/push_button" 
      android:layout_marginBottom="40dp" 
      /> 

    </LinearLayout> 

</LinearLayout> 

et une autre disposition appelée grid_unit.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="170dp" 
    android:layout_height="130dp" 
    android:orientation="horizontal"> 

    <ImageView 
     android:id="@+id/thumbImage" 
     android:layout_width="77dp" 
     android:layout_height="105dp" 
     android:src="@android:drawable/ic_menu_gallery" 
     android:layout_marginTop="10dp" 
     /> 

    <LinearLayout 
     android:layout_width="73dp" 
     android:layout_height="120dp" 
     android:orientation="vertical" 
     android:layout_marginTop="10dp" 
     android:layout_marginRight="10dp" 
     > 

     <TextView 
      android:id="@+id/issueName" 
      android:layout_width="77dp" 
      android:layout_marginTop="5dp" 
      android:layout_height="30dp" 
      android:text="South Louisiana PnK" 
      android:layout_marginLeft="3dp" 
      android:textSize="11dp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/productName" 
      android:layout_marginTop="5dp" 
      android:layout_width="70dp" 
      android:layout_height="30dp" 
      android:layout_marginLeft="3dp" 
      android:text="South Louisiana PnK" 
      android:textSize="9dp" /> 

     <Button 
      android:id="@+id/viewButton" 
      android:layout_width="70dp" 
      android:layout_height="20dp" 
      android:text="View" 
      android:textSize="9dp" 
      android:textColor="@drawable/push_button_text_color" 
      android:background="@drawable/push_button" 
      android:layout_marginTop="5dp" 
      android:layout_marginLeft="3dp" 
      /> 

    </LinearLayout> 

</LinearLayout> 

et enfin, j'ai principale activity_main.xml, je veux utiliser la combinaison de ces comme

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="440dp" 
    android:orientation="vertical" 
    tools:context="com.mirabel.activities.MainActivity" > 

    <include layout="@layout/thumb_unit" android:id="@+id/main_thumb"/> 
    <LinearLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <include layout="@layout/grid_unit" android:id="@+id/left_grid"/> 
     <include layout="@layout/grid_unit" android:id="@+id/right_grid"/> 

    </LinearLayout> 


</LinearLayout> 

sublayout dans le activity_main.xml et programatically je veux définir l'image, le texte pour toutes ces choses. Comment faire ça?

+0

Voir aussi http://stackoverflow.com/questions/12071829/how-to-insert-layout-to-layout-in-android – Suragch

Répondre

0

Vous pouvez le faire dans le fichier d'activité pour activity_layout.xml de la manière suivante:

View view = findViewById(R.id.left_grid); 
ImageView image = view.findViewById(R.id.thumbImage); 
image.setBackgroundResource(R.id.image)); //or whatever you wish to set 

TextView text = view.findViewById(R.id.issueName); 
text.setText("Whatever text you want to set); 

De cette façon, vous pouvez accéder à toutes les vues dans la présentation inclus.

+0

@Tahira .. Je sais comment le faire dans les cas normaux. Mais, ici, dans ce cas, je veux utiliser. Celui-ci est un peu différent. Observez attentivement. J'utilise la mise en page en tant que sublayout dans ma mise en page principale. Dans cela, la disposition il y a des sous-composants et je veux accéder à ces composants. – Bharath

+0

J'ai mis à jour ma question. Veuillez le vérifier – Bharath

+1

Oui Tarunima. Je pense que vous n'avez pas vu ma réponse attentivement. Voir la vue = findViewById (R.id.left_grid); ImageView image = view.findViewById (R.id.thumbImage); Lorsque vous accédez à ImageView, vous devez vous référer à l'objet View (view) trouvé précédemment et non à l'objet Activity. voir.findViewById (R.id.thumbImage); – STT

Questions connexes