2 yinxiaopei yinxiaopei 于 2015.06.25 11:35 提问

android 在activity中怎么获取gridview的item的view

在gridview中,可以用OnItemClickListener的
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
RelativeLayout mLayout = (RelativeLayout) arg1;}
方法获取mlayout。就是gridview的item的view.如果不是在onItemClick中怎样可以获取view.网上说可以用gridView.getChildAt(),这里的参数写什么可以获取。。或者通过adapter.getView可以获取,该传入什么参数。
谢谢回答。

4个回答

u013263323
u013263323   2015.06.25 14:40
已采纳

比如下面一段代码:

android:layout_width="fill_parent"
android:layout_height="45dp"
android:background="@drawable/title_bar"
android:gravity="center_vertical" >

    <TextView android:id="@+id/news_detail_back_to_main"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="《返回"
        android:textColor="#18b4ed"
        android:textSize="18sp"
        android:layout_centerVertical="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="新闻动态"
        android:textColor="#18b4ed"
        android:textSize="28sp" />
</RelativeLayout>
RelativeLayout  里面有两个TextView,首先把这个Xml布局加载进来变成一个view,那么view.getChildAt(0)就得到第一个TextView,view.getChildAt(1)就得到第二个TextView,以此类推!孩子数量多,写一个循环就是了
yinxiaopei
yinxiaopei 在activity中inflate布局??那跟adapter里的还是一个吗。。。
2 年多之前 回复
u012235830
u012235830   2015.06.25 12:57

view.getChildAt(int index)参数就是第几个item

yinxiaopei
yinxiaopei 如果就传position 得到的值是空的。。
2 年多之前 回复
u013263323
u013263323   2015.06.25 13:44

不要传position,传的是view中孩子的索引

yinxiaopei
yinxiaopei 那个索引是什么啊==
2 年多之前 回复
u013263323
u013263323   2015.06.25 16:19

是啊,就是inflate布局!一样的

Csdn user default icon
上传中...
上传图片
插入图片