#android
#Android
Вопрос:
У меня есть следующий код:
public static class PlaceholderFragment extends Fragment {
static final String[] transacciones = new String[] {
"Retiro", "Depósito", "Pago", "Administrativas"
};
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_opciones, container, false);
GridView gridViewOpciones = (GridView) rootView.findViewById(R.id.gridViewOpciones);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,
transacciones);
gridViewOpciones.setAdapter(adapter);
for (int i=0; i<gridViewOpciones.getChildCount(); i ) {
// Get view and then add a click listener
}
return rootView;
}
}
Я хочу получить каждый вид внутри сетки и установить прослушиватель щелчков для каждого из них.
После отладки я замечаю, что мой метод getChildCount возвращает 0, несмотря на то, что моя активность правильно отображает вид сетки (со всеми четырьмя параметрами).
Почему метод getChildCount не возвращает 4, как я ожидал?
Ответ №1:
Если вы хотите установить OnClickListener для каждого элемента в вашем gridview, используйте этот код
gridViewOpciones.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
String str= (String) gridViewOpciones.getItemAtPosition(position);
// do whatever you need with string
}
});