Listeden her bir obiect için textView oluşturan ve bunları doğrusal düzende ekleyen "her" için bir döngüye sahibim. Harika çalışıyor. Sonra kullanıcı geçiş düğmesine tıkladığında tüm textViews gizlemek istiyorum ama burada sorunum var - sadece son textView listeden gizli, geri kalanı hala görülebilir. Bu sorunu birçok çözümle çözmeye çalıştım (örneğin getChild() ile), ancak hiçbir şey işe yaramıyor. her yineleme için geçerli iteraton oluşturulan TextView
görünürlüğünü değiştirir yeni dinleyici ayarlayın böylece - sen for döngüsü içinde textLine
için bir dinleyici ayarıDinamik olarak metin ekleme ve gizleme Görünümler
final List<FilterItem> filterItemList = filterData.getFilterItemList();
for (FilterItem filterItem : filterItemList) {
final TextView filter = new TextView(MainPanelActivity.this);
filter.setText(filterItem.getFilterItemName());
filter.setTextColor(R.color.black);
linearLayout.addView(filter);
filter.setVisibility(View.GONE);
textLine.setOnCheckedChangeListener(
new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
filter.setVisibility(View.VISIBLE);
} else {
filter.setVisibility(View.GONE);
}
}
});
filter.setVisibility (View.VISIBLE); Son metin görünümünü referans gösterecektir. Bu yüzden sadece son metin görüntülemeyi gizleyecektir. – Killer
Tam olarak değil :) Uygulamanın başka bir bölümünde bunu kullanıyorum ve iyi çalışıyor - her bir TextView gizleniyor :) – Bartos