Android'de dinamik liste oluşturma nasıl yapılır? Tüm wifi erişim noktalarını almak ve tercihli Aktivite kullanarak bir liste yapmak istiyorum (yani liste listesini kullanarak bir liste hazırlayın). Bu nasıl yapılır?Dinamik Listede geçenlerÖnceki sürüm
cevap
Android'deki her XML öğesi, öğe adı da bir Java sınıfı olduğu için programsal olarak oluşturulabilir. Daha sonra kod girişleri/giriş değerleri ekleyin
CharSequence[] entries = { "One", "Two", "Three" };
CharSequence[] entryValues = { "1", "2", "3" };
ListPreference lp = new ListPreference(this);
lp.setEntries(entries);
lp.setEntryValues(entryValues);
Sen alternatif olarak XML buranın: Dolayısıyla kodda bir ListPreference oluşturabilir dinamik bir liste tercihini oluşturmak için
CharSequence[] entries = { "One", "Two", "Three" };
CharSequence[] entryValues = { "1", "2", "3" };
ListPreference lp = (ListPreference)findPreference("list_key_as_defined_in_xml");
lp.setEntries(entries);
lp.setEntryValues(entryValues);
findViewById ile çalışır görünümleri. ListPreference bir görünüm değil, bu yüzden ikinci örnek işe yaramıyor. Yayınlanamıyor. –
findPreference findViewById yerine çalışmalıdır. Ancak, findPreference, Honeycomb'da kullanımdan kaldırılmıştır. –
u gerekir preference activity (bir etkinliği PreferenceActivity olarak genişletmek için) oluşturun.
Aşağıdaki kod, listeyi dinamik olarak oluşturmak için kullanılabilir. ! Bu bir DEA almak için yardımcı olur
// Root PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this); dialogBasedPrefCat.setTitle("Category Title"); root.addPreference(dialogBasedPrefCat); //Adding a category // List preference under the category ListPreference listPref = new ListPreference(this); listPref.setKey("keyName"); //Refer to get the pref value listPref.setEntries("Array of values"); listPref.setEntryValues("Array of item value"); listPref.setDialogTitle("Dialog Title"); listPref.setTitle("Title"); listPref.setSummary("Summary"); dialogBasedPrefCat.addPreference(listPref); Adding under the category return root;
Umut ...
DÜZENLEME:
oluşturun ve [] böyle CharSequence değerleri ekleyin:
CharSequence[] cs = new String[]{"myValue"};
Diğer tercih türlerini dinamik olarak oluşturmak için bu örnek koda bakın: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/preference/PreferencesFromCode.html –
Biraz garip getEntries ve getEntryValues, DOA'ydı ama eminim ki iyi bir sebep var. Ve bu harika bir çözüm. – Malachi
Boris - bağlantınız çalışmıyor: sadece Beni İndirme Örnekleri dizinine götürür.Ancak, indirilen örneklerimde bağlantınızın üzerine gelindiğinde belirtilen yolu takip ettim ve buldum. (Başkası için: android-sdk \ samples \ android-
bu minimalist teknik her iki ortam içindir. preferences.xml olarak
<!-- NB: Dynamic array insertion for 'entries'/'entryValues' -->
<ListPreference
android:key="xyzzy"
android:title="..."
android:summary="..."
android:numeric="integer"
android:defaultValue="0"
android:layout="?PrefLayoutDtl"
/>
Başka bir yerde PreferenceFragment.onCreate()
addPreferencesFromResource(R.xml.preferences);
expand_xyzzy((ListPreference)findPreference("xyzzy"));
public static Preference expand_xyzzy (ListPreference pref) {
if (pref == null) return pref;
pref.setEntries(new String["one","two","three];
pref.setEntryValues(new String["0","1","2"]);
return pref;
}
Notlar:
(a) XML bir Bette belki kendi kendini belgeleyen ve bir Dinamik tercih oluşturmadan seçim. ürün o onCreate` `öğeleri ayarlamak için yeterli değildir dinamik olacağını düşünürsek
- 1. Dinamik düğme android ile genişletilmiş listede zamanlayıcı
- 2. HQL/GORM'de "nerede değer dinamik listede" nasıl ifade edilir?
- 3. mvc.net listede
- 4. (scala olarak) ikinci listede olmayan bir listede elemanları
- 5. Android Listede Hızlıca kaydırma
- 6. dosyaları bir listede bulunamıyor
- 7. Normal İfadeler: Listede arayın
- 8. Listede LongPress Nasıl Geçersizleştirilir?
- 9. Açılır Listede Hata
- 10. Listede görüntü gösterme Özeti
- 11. Bağlantılı listede baş düğüm
- 12. Bağlantılı Listede yöntemi bul
- 13. Düşürme NodeJs Sürüm ve ekspres sürüm
- 14. Sürüm Kodunu & Sürüm Adını Codename1 Kullanarak Yapın
- 15. libxxx.a sürüm numarası nasıl bulunur?
- 16. Sürüm dizini
- 17. Sürüm ikili
- 18. powershell, sürüm
- 19. sürüm numarası
- 20. Yürütülebilir sürüm,
- 21. Powershell dsc sürüm 3.8.0.0 kurulum
- 22. Listede ayırma özellikleri nasıl ayarlanır?
- 23. Listede XmlSerializer.Deserialize <> öğe
- 24. Listede kullanıldığında yıldız operatörünün amacı
- 25. jquery indekste bir listede bulun
- 26. Yinelenen öğeleri bir listede yineleyin
- 27. Bağlantılı listede tavan nasıl yapılır?
- 28. ACF Tekrarlayıcı listede ilk görüntülenmiyor
- 29. Endeksler bir listede nasıl saklanır
- 30. GPG tuşu listede var mı?
: En
PreferenceFragment
PreferenceActivity
kullanarak DEĞİL tarafından başlayarak(b) kolayca bunu sağlar. Ayrıca ListPreference tıklandığında değerleri güncellemeniz gerekir: http://stackoverflow.com/questions/6474707/how-to-fill-listpreference-dynamically-when-onpreferenceclick-is-triggered/13828912#13828912 – ccpizza