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

  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • Top10Series

    Top10Series

    26 Kasım 2008
  • VOICE TV

    VOICE TV

    2 Aralık 2010