Я хотел бы получить вид элемента по позиции в GridView, и я не знаю, как это сделать.Как получить элемент Просмотр по позиции в GridView (в onCreateView)?
Я попытался перебрать gridView.getChildCount(), но он возвращает 0 (https://stackoverflow.com/a/8944678/1788704).
Когда я вызываю gridView.getCount(), он возвращает 25 (точное количество элементов моего gridview).
Когда я пытаюсь позвонить getChildAt (позиция) в цикле с getCount, я получаю NPE.
То, что я хочу сделать, это получить представление элемента, чтобы получить 2 ImageView внутри представления элемента и установить setOnClickListener() для каждого из них.
На данный момент я устанавливаю эти слушатели в setOnItemClickListener() gridView.
Но в первый раз, когда я нажимаю на мое изображение, слушатель не установлен, тогда он в порядке (поскольку он инициализируется после нажатия ячейки).
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
[... ... ...]
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
ImageView shutterDown = (ImageView) v.findViewById(R.id.grid_item_shutter_down);
shutterDown.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "Down", Toast.LENGTH_SHORT).show();
}
});
ImageView shutterUp = (ImageView) v.findViewById(R.id.grid_item_shutter_up);
shutterUp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "Up", Toast.LENGTH_SHORT).show();
}
});
// The rest of the onItemClickListener (normal behavior).
}
});
return rootView;
}
Вот скриншот моей ячейки сетки:
Обычно я делаю это в пользовательском адаптере. Просто добавьте BaseAdapter 'getView()' и поставьте свой 'onClicks()' там –
У меня есть свой собственный адаптер ... и я глуп. Я не хотел использовать его раньше, потому что мне нужно создать поток (сокет внутри) в моем onClicks, но с AsyncTask все должно быть в порядке. Благодарю. – kmas