gpt4 book ai didi

android - GridView.setOnItemClickListener 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:17 24 4
gpt4 key购买 nike

自 2 天以来,我一直遇到一个问题。我有一个 GridView ,因为我需要显示图像。当我单击网格项目时,它必须转到下一个 Activity 。我能够在 GridView 中显示图像,但是事情是当我点击那个项目时它没有响应..(OnItemClickListener 不工作)。我无法追踪我做错的问题。

         package com.logictreeit.mobilezop.fragments;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;

import com.logictreeit.mobilezop.adapters.PhotoAdapter;
import com.logictreeit.mobilezop.custom.Utils;

public class Dup_AlbumPhotosFragment extends Fragment implements
OnItemClickListener {

private static final String TAG = "AlbumPhotos Fragment";
private GridView gridView;
private Context mContext;
private PhotoAdapter photoAdapter;

public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.v(TAG, "on Activity Created ");

}

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

public void onAttach(Activity activity) {
super.onAttach(activity);
this.mContext = activity;
}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.v(TAG, "OnCreateView");
gridView = new GridView(mContext);
gridView.setNumColumns(GridView.AUTO_FIT);
gridView.setClickable(true);
gridView.setOnItemClickListener(this);
photoAdapter = new PhotoAdapter(mContext, -1,Utils.getALbumList().get(0).getPhotosList());
gridView.setAdapter(photoAdapter);
return gridView;
}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.v(TAG, "on ItemClikced");

}

}

这是我的 fragment ..

         package com.logictreeit.mobilezop.adapters;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;

import com.logictreeit.mobilezop.R;
import com.logictreeit.mobilezop.models.Photo;

public class DupPhotoAdapter extends ArrayAdapter<Photo> {
private static final String TAG = "PhotoAdapter";
private Context context;
private List<Photo> photoList;

public DupPhotoAdapter(Context context, int textViewResourceId,
List<Photo> objects) {
super(context, textViewResourceId, objects);
this.context = context;
this.photoList = objects;
}

public int getCount() {
return photoList.size();
}

public View getView(int position, View convertView, ViewGroup parent) {
convertView = LayoutInflater.from(context).inflate(
R.layout.grid_item_image_layout, null);

ImageView imageView = (ImageView) convertView
.findViewById(R.id.grid_item_imageview);
final CheckBox checkBox = (CheckBox) convertView
.findViewById(R.id.grid_item_checkbox);
final Photo photo = photoList.get(position);

if (photo.isSelected()) {
checkBox.setChecked(true);
} else {
checkBox.setChecked(false);
}
imageView.setImageResource(Integer.parseInt(photo.getFileUrl()));
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
photo.setSelected(true);
} else {
photo.setSelected(false);
}

}
});
return convertView;

}

}

这是我的适配器。

如果你们知道,请告诉我...

谢谢,柴坦尼亚

最佳答案

我认为您的 ImageViews 窃取了焦点,因为它们是可检查的。所以项目点击不会发生,因为你的 ImageViews 拦截了它。

将这些属性添加到您的 ImageView 可能会有所帮助,但可能会给您的检查带来麻烦。

    android:focusable="false"
android:focusableInTouchMode="false"

在 ListView 中有可检查的项目有点痛苦。但我认为您会找到相关主题如何做。

这是 1 个看起来合适的教程,我承认我没有仔细研究它,但你可能想要:

http://windrealm.org/tutorials/android/listview-with-checkboxes-without-listactivity.php

关于android - GridView.setOnItemClickListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11931177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com