Ich habe eine Rasteransicht 3x3. Innerhalb dieses Gitters habe ich ImageView
s.GridView.setOnItemClickListener löst ganze Zeile
Ich habe OnItemClickListener
eingerichtet, aber wenn ich auf ImageView
klicke, wird nur der erste in Folge gedrückt, egal welche Spalte ich drücke. Auch kann ich außerhalb der ImageView
(leeren Raum) drücken, aber immer noch zuerst ImageView
auf diese Zeile gedrückt wird.
XML
<GridView
android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="3"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
MainActivity
GridView gridview = (GridView) findViewById(R.id.test);
gridview.setAdapter(new HexAdapter(getBaseContext()));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Log.e("gridView", "hallo" + position);
}
});
und das ist mein Adapter
public class HexAdapter extends BaseAdapter {
private Context mContext;
public HexAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return (Object) mThumbIds[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// references to our images
private Integer[] mThumbIds = {
R.drawable.logo, R.drawable.logo,
R.drawable.logo, R.drawable.logo,
R.drawable.logo, R.drawable.logo,
};
}
R.drawable.logo ist nur ein zufälliges Bild, ein wählte.
prüfen diese https://stackoverflow.com/questions/20191914/how-to- add-gridview-setonitemclicklistener –
@NovoLucas Ich habe diesen schon rot. Leider muss ich einen onItemClickListener machen. Kein clickListener im Adapter. – CBeTJlu4ok
@NovoLucas siehe https://stackoverflow.com/questions/46343681/android-click-button-behind-another-button, wenn Sie mehr wissen wollen – CBeTJlu4ok