android gridview 滚动条位置,android-gridview单元格视图位置在滚动后发生...

我有一个带有5列的girdview,我想给整个行上色,这意味着单击5个单元格. click效果很好,但是当我在单击颜色时滚动它们时,将设置两行或三行以后的单元格,因为它会更改视图位置.

这是我的Gridview:

android:id="@+id/gridView2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/CornflowerBlue"

android:gravity="center"

android:horizontalSpacing="5dp"

android:numColumns="5"

android:verticalSpacing="5dp">

具有自定义布局:

android:id="@android:id/text1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/LightBlue"

android:gravity="center_vertical"

android:minHeight="?android:attr/listPreferredItemHeight"

android:paddingLeft="6dip"

android:textAppearance="?android:attr/textAppearanceLarge"

android:textSize="22sp" />

和我的网格视图适配器代码:

public class Fragment2 extends Fragment {

............................

gridView2 = (GridView) getView().findViewById(R.id.gridView2);

ArrayAdapter adapter2 = new ArrayAdapter(

getActivity(), R.layout.custom_layout, stg1); //stg1-array

gridView2.setAdapter(adapter2);

gridView2.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView> parent, View view,

int position, long id) {

String message;

int p = (int) Math.ceil(position / 5) * 5; //to color 5 cells from starting on click

try{

gridView2.getChildAt(p).setBackgroundColor(Color.GREEN);

gridView2.getChildAt(p+1).setBackgroundColor(Color.GREEN);

gridView2.getChildAt(p+2).setBackgroundColor(Color.GREEN);

gridView2.getChildAt(p+3).setBackgroundColor(Color.GREEN);

gridView2.getChildAt(p+4).setBackgroundColor(Color.GREEN);

}

});

最初它可以正常工作,但是在将滚动颜色设置为除单击的单元格之外的其他单元格之后,将其设置为其他颜色?我该怎么办??我不想使用基础适配器.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值