Мне нужна небольшая помощь: у меня есть список с настраиваемым элементом списка и узлом просмотра. Код, который я скопировал, представляет собой адаптер, который я использую, но более простую версию. Ради простоты, скажем, у меня есть ImageView
и LinearLayout
внутри каждого элемента ListView
. Я хотел бы применить setOnClickListener
к каждому элементу, который должен сделать следующее: изменить видимость элемента LinearLayout внутри ДРУГОГО элемента, так что в другом положении (например, всегда 5-го). Очевидно, если я назову holder.rl.setvisibility(..)
, он изменит видимость в том же положении. Я предполагаю, что могу как-то ссылаться на элемент, который мне нужно изменить, но я не уверен. Как вы, ребята, могли это сделать?Ссылка на другой элемент внутри ListView с ViewHolder
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context mContext) {
this.mContext = mContext;
}
@Override
public int getCount() {
return bImageList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
View view = convertView;
if (view == null) {
view = getActivity().getLayoutInflater().inflate(R.layout.discover_item_layout_my, parent, false);
holder = new ViewHolder();
assert view != null;
holder.itemImage = (ImageView) view.findViewById(R.id.main_discover_listitem_itemimage);
holder.ll = (LinearLayout) view.findViewById(R.id.anim_rl);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.ll.setVisibility(View.VISIBLE);
holder.itemImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//need to set holder.ll visibility to GONE but in another position
}
});
return view;
}
class ViewHolder {
ImageView itemImage;
LinearLayout ll;
}
}
Спасибо, ребята!
просто u массив истинных/ложных в adaptaetr constacrter и когда u щелкните обновленный адаптер –
Его хорошо, но как я могу изменить макет, например, 5-го элемента? –
if (position == 5) {} чем somethink –