#android #gridview #onclicklistener
#Android #просмотр сетки #onclicklistener
Вопрос:
- У меня есть GridView.
- Я устанавливаю на него адаптер.
- Добавление setOnClickListener() и setOnLongClickListener().
Проблема :
- Иногда он входит в setOnLongClickListener ()
- Иногда в setOnClickListener () и
- Иногда в none.
открытый класс ABCAdapter расширяет BaseAdapter {
...
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
ViewHolder holder = null;
final Answer option = mOptionsList.get(position);
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(mLayoutId, null);
holder.data = (TextView) convertView.findViewById(R.id.data);
holder.row = (LinearLayout) convertView
.findViewById(R.id.row);
convertView.setTag(holder);
} else {
holder = (OptionViewHolder) convertView.getTag();
}
holder.data.setText("Data");
holder.row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View selectionView) {
...
}
});
holder.row.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
...
return false;
}
});
}
…
}
Комментарии:
1. разместите свой код здесь… что вы сделали?
2. @NehaC Вы получите ответ, как только опубликуете здесь свой код.
Ответ №1:
попробуйте gridView.setOnItemClickListener(new OnItemClickListener()
из вашей активности, имеющей GridView
Ответ №2:
return true
как из метода onClick (), так и из метода onLongClick ()
@Override
public boolean onLongClick(View view) {
...
return true;
}
@Override
public void onClick(final View selectionView) {
...
return true;
}
Альтернативное решение
Используйте следующие прослушиватели в вашем gridview
mGridView.setOnItemClickListener(this);
mGridView.setOnItemLongClickListener(this);