Я чувствую себя немного глупо, так как я не могу найти ответ на этот вопрос, что заставляет меня думать, что я действительно спрашиваю неправильный вопрос. Однако здесь идет ...ListView ArrayAdapter, скрывающий детей внутри строки?
У меня есть вид списка, а listviewitem, определенный в xml, с несколькими полями, ничего особенного. Все установлено на видимое.
Затем я привязываюсь к своему элементу ListView с использованием настраиваемого ArrayAdapter и хочу скрыть одно из своих текстовых представлений в строке 5. Однако он, кажется, скрывает мой TextView на элементах 0 и пункте 5. Что-то нечетное ? Я упростил код, чтобы воспроизвести проблему и, надеюсь, кто-то сможет мне помочь ...
Мой адаптер
public class MenuScreenAdapter extends ArrayAdapter<String>
{
private List<String> _items;
private Context _context;
public MenuScreenAdapter(Context context, List<String> items)
{
super(context, R.layout.list_menu_item, items);
_context = context;
_items = items;
}
private MenuScreenAdapter(Context context, int textViewResourceId)
{
super(context, textViewResourceId);
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View v = convertView;
if (v == null)
{
LayoutInflater vi = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_menu_item, null);
}
String o = _items.get(position);
if (o != null)
{
TextView tt = (TextView) v.findViewById(R.id.list_menu_item_name);
if (tt != null)
tt.setText(o);
if (position == 5)
tt.setVisibility(View.GONE);
}
return v;
}
}
Мой Binding Код
// Load everything up that we need
List<String> items = new ArrayList<String>();
items.add("One");
items.add("Two");
items.add("Three");
items.add("Four");
items.add("Five");
items.add("Six");
items.add("Seven");
items.add("Eight");
items.add("Nine");
items.add("Ten");
// Get the ListView, and set it's adapter. The HomeScreenAdapter
// takes care of the rest
ListView homeScreenListView = (ListView) _mainActivity.findViewById(R.id.view_home_list);
homeScreenListView.setOnItemClickListener(ItemSelected);
homeScreenListView.setAdapter(new MenuScreenAdapter(_mainActivity.getBaseContext(), items));
Заранее спасибо!
Фантастический, рад, что это было просто мое непонимание того, как работает ListView. Спасибо за вашу помощь. –