2011-06-16 13 views
17

XML ile oluşturulmuş bir görünüme dinamik içerik eklemeye çalışıyorum.XML ile oluşturulmuş bir görünüme dinamik olarak öğeleri nasıl ekleyebilirim?

Bazı öğeler eklemek istediğim ScrollView içeren bir "profil_list" görünümüm var.

Yapmaya çalıştığım şeyin bir kodudur.

// Find the ScrollView 
ScrollView sv = (ScrollView) this.findViewById(R.id.scrollView1); 

// Create a LinearLayout element 
LinearLayout ll = new LinearLayout(this); 
ll.setOrientation(LinearLayout.VERTICAL); 

// Add text 
tv = new TextView(this); 
tv.setText("my text"); 
ll.addView(tv); 

// Add the LinearLayout element to the ScrollView 
sv.addView(ll); 

// Display the view 
setContentView(R.layout.profile_list); 

planı TableLayout ekleyip dinamik ve sadece bir kukla metin doldurmaya olduğunu ama önce bu işe almak gerekir.

Herhangi bir yardım gelebilir.

Saygılarımızla Olle

çözüm bulundu!

Aptal bana ScrollView'ımda XML dosyamda bir öğe bırakmıştım! Bu kimse yardımcı olacaktır

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ScrollView 
     android:id="@+id/scrollView1" 
     android:clickable="true" 
     android:layout_weight="1" 
     android:layout_width="fill_parent" 
     android:layout_marginBottom="50px" 
     android:layout_height="fill_parent"> 
    </ScrollView> 

</LinearLayout> 

Umut maç için

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View v = inflater.inflate(R.layout.profile_list, null); 

    // Find the ScrollView 
    ScrollView sv = (ScrollView) v.findViewById(R.id.scrollView1); 

    // Create a LinearLayout element 
    LinearLayout ll = new LinearLayout(this); 
    ll.setOrientation(LinearLayout.VERTICAL); 

    // Add text 
    TextView tv = new TextView(this); 
    tv.setText("my text"); 
    ll.addView(tv); 

    // Add the LinearLayout element to the ScrollView 
    sv.addView(ll); 

    // Display the view 
    setContentView(v); 

Ve XML dosyası:

Neyse onu çalışma örneğidir. Tüm yardımlarınız için teşekkürler!

+0

Ne yapmak istediğimi sessizce anlamıyorum. Özel görünüm oluşturmaya ne dersin? Bence daha iyi – Hein

+0

Özel bakış açısıyla tüm görünümü dinamik olarak oluşturmak mı istiyorsunuz? Aptalca bir soru sorsam, beni çok affediyorum. Bunu denedim ama bu şekilde çalışmak için tasarım ve düzen elde edemedim, böylece her yere başladım. – Olle

cevap

6

Görüntüye birşeyler eklemenin yolu temel olarak doğrudur - kapsayıcı nesnesini kimliğine göre alırsınız ve sonra bunları eklersiniz.

Görünüşe göre içerik görünümünü yanlış görüntülemeye ayarlıyorsunuz. Görünümü şişirmeli, çocukları ekmeli ve onu içerik görüntüsü olarak ayarlamalı ya da içerik kimliğini bir kaynak kimliğinden ayarlamalı ve ardından manipülasyon yapmalısınız. Yaptığınız şey bir görünümü manipüle etmek ve daha sonra farklı bir tane eklemek. SetContentView'ınızı (...) bloğun başlangıcına taşımayı deneyin.

+1

Benim için çalışmadı. Bunu en iyi 'LayoutInflater inflater = (LayoutInflater) getSystemService (Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate dosyasını görüntüleyin (R.layout.profile_list, null); // bul scrollview scrollview sv = (scrollview) v.findViewById (R.id.scrollView1); 'Ben' // görünüm setContentView (v) Display koymak; 'son – Olle

+1

Büyük sayesinde !!! Eğer yapabilirsem mesajın için oy kullanırdım. – Olle

İlgili konular