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

  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • Noam Erez

    Noam Erez

    3 NİSAN 2012