我有以下代码:
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?
答案 0 :(得分:0)
如果要为gridview中的每个项目设置OnClickListener,请使用此代码
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
}
});