设置适配器后获取网格视图的子计数

时间:2014-07-03 19:51:19

标签: 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 个答案:

答案 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

        }


    });