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

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • iZAPPA

    iZAPPA

    16 Temmuz 2010
  • trickycharms

    trickycharms

    6 Aralık 2013