アプリで ListViews と GridView を使用しています。GridView にはカスタム アダプターを使用しましたが、リストには使用しませんでした。
ご覧のとおり、要素をクリックすると、要素の背景が自動的に変更されます。しかし、GridView では同じことが起こっていません。手動で行う必要がありますか?典型的な境界線など、ユーザーへのフィードバックをお願いします。グリッドビューのスクリーンショットもアップロードします。
GridView XML。
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="100dp"
android:drawSelectorOnTop="true"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" >
そして今、GridView アダプターの getView() 部分:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View layout=convertView;
ViewHolder holder = null;
GridCrop gridElement;
if (layout == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
layout=inflater.inflate(R.layout.crop_grid_element,null);
holder = new ViewHolder();
holder.image = (ImageView) layout.findViewById(R.id.cropImage);
holder.text = (TextView) layout.findViewById(R.id.imageTitle);
layout.setTag(holder);
} else {
holder = (ViewHolder) layout.getTag();
}
gridElement=list.get(position);
holder.image.setImageResource(gridElement.getImage());
holder.text.setText(gridElement.getTitle());
return layout;
}
class ViewHolder {
ImageView image;
TextView text;
}