SORU
2 HAZİRAN 2011, PERŞEMBE


Android - Dinamik Görünümler Eklemek görünüme

Bir görünüm için bir düzen var

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0px"
    android:orientation="vertical">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@ id/items_header"
        style="@style/Home.ListHeader" />

    <TextView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@ id/items_none"
        android:visibility="gone"
        style="@style/TextBlock"
        android:paddingLeft="6px" />

    <ListView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@ id/items_list" />


</LinearLayout>

Yapmak istiyorum, ne böyle bir düzeni ile benim ana faaliyet içinde

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0px"
    android:id="@ id/item_wrapper">
</LinearLayout>

Veri modeli döngü ve birden çok görünüm ana düzen içine ilk düzeni oluşan enjekte etmek istiyorum. Biliyorum bunu yapabilirim binayı kontrolleri tamamen içindeki kod, ama merak ediyordum da bir yolu dinamik olarak inşa görüşlerini böylece devam edebilirim kullanarak bir düzen yerine koyarak her şeyi kod.

CEVAP
2 HAZİRAN 2011, PERŞEMBE


LayoutInflator bir görünüm düzeni şablonu oluşturmak ve gerek görünüm enjekte kullanın.

LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = vi.inflate(R.layout.your_layout, null);

// fill in any details dynamically here
TextView textView = (TextView) v.findViewById(R.id.a_text_view);
textView.setText("your text");

// insert into main view
ViewGroup insertPoint = (ViewGroup) findViewById(R.id.insert_point);
insertPoint.addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));

Eklemek için görüntülemek istediğiniz dizini ayarlamanız gerekebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Glove and Boots

    Glove and Bo

    1 ŞUBAT 2007
  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006
  • Tube Time

    Tube Time

    14 Mayıs 2013