gridview设置如下...
<GridView 
android:id="@+id/gridview"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="center" 
android:horizontalSpacing="10.0dip" 
android:verticalSpacing="10.0dip" 
android:stretchMode="columnWidth" 
android:numColumns="2" 
android:background="#ffffffff" 
/> item<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:paddingBottom="5.0dip" 
>
    <ImageView 
     android:id="@+id/item_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     />
    <TextView 
     android:id="@+id/item_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/item_image" 
     android:layout_centerHorizontal="true" 
     />
</RelativeLayout>点击item时...一大块区域获取focus..我想只让imageview获取焦点....求高手指点...

解决方案 »

  1.   

    在你Adapter中 
    xxxAdapter extends BaseAdapter implements View.OnTouchListener{在getView中 item_image.setOnTouchListener(this);
               item_image.setTag(info); //这里可以保存些信息供 onTouch使用 @Override
        public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
        if (event.getAction() == 0){ //ACTION_DOWN 
    ((ImageView)v).setImageResource(R.drawable.press);
    // TODO Auto-generated method stub     
     }
        if(event.getAction()== 1){ //ACTION_UP 
          抬起时操作
        }
    return true;
        }