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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章