Android GridView获取子View(并操作)

Android GridView获取子View,然后进行操作。

看了一些资料和别人写的,可还是获取不到,要不就是没有效果,最后自己调试出来了。

之前看过一篇文章,说了这个问题,myGridView.getSelectedView();等获取的都是null的,然后发现需要myGridView.getAdapter().getView(i,null,null);这样可以获取到View,我测试是可以,能获取到,但不能进行改变,于是考虑getView得到的view,然后将setOnItemClickListener中的View放进去,结果就可以了。

好了,思想+代码。

代码:

 myGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView adapterView, View view, int i, long l) {
                LinearLayout linearLayout=(LinearLayout) myGridView.getAdapter().getView(i,view,null);
                TextView textView=(TextView)linearLayout.getChildAt(0);
                textView.setText("test");
            }
        });

其中的关键代码:

 LinearLayout linearLayout=(LinearLayout) myGridView.getAdapter().getView(i,view,null);
                TextView textView=(TextView)linearLayout.getChildAt(0);
                textView.setText("test");

这样,当选中一个时,选中的gridview中的子TextView的text就改变了。其他的也一样实现。

好了,重点就两个:

1.通过adapter得到view

myGridView.getAdapter().getView(i,view,null);

2.getview时添加当前的position和view

getView(i,view,null)

你可能感兴趣的:(知识点,概念,控件,问题解决)