У меня есть Activity с ListView элементов CheckBox и TextView.Когда я впервые проверяю или снимаю галочку в последний раз, я хочу LinearLayout с некоторыми кнопками, чтобы показать / скрыть.Это работает хорошо.Проблема в том, что всякий раз, когда это происходит, порядок элементов ListView меняется на противоположный.Это происходит только тогда, когда у меня не установлен флажок, и если установлен последний флажок, или когда последний выбран, снимите флажок.
Код getView моего адаптера следующий:
@Override
public View getView(int position, View view, ViewGroup parent)
{
LinearLayout v = (LinearLayout)view;
ViewHolder holder;
if (v == null)
{
LayoutInflater inflater = (LayoutInflater)container.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = (LinearLayout)inflater.inflate(R.layout.serverlist_view, null);
holder = new ViewHolder();
holder.checkbox = (CheckBox)v.findViewById(R.id.serverlist_checkbox);
holder.textview = (TextView) v.findViewById(R.id.serverlist_name);
holder.checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
LinearLayout layout = (LinearLayout)container.findViewById(R.id.buttons_linearlayout);
int visibility = View.VISIBLE;
if (isChecked)
{
nChecked++;
}
else
{
nChecked--;
if (nChecked == 0)
{
visibility = View.GONE;
}
}
layout.setVisibility(visibility);
}
});
v.setTag(holder);
}
else
{
holder = (ViewHolder)v.getTag();
}
holder.textview.setText(hostname);
return v;
}
Если я комментируюout layout.setVisibility (visibility) проблема исчезает.Я уже проверял этот пост Список ListView переворачивается, когда выбор сделан , но я не могу заставить свой код работать.
Есть идеи?
Спасибо