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

  • Dive In

    Dive In

    17 Temmuz 2013
  • We've moved!

    We've moved!

    7 Ocak 2008
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009