我有一个gridView,我在弹出窗口中显示(gridview是透明布局,继承自linearlayout,只有一个部分透明的背景).我永远无法让这个GridView的OnItemClick执行.当我触摸gridview中的图像时,它似乎被点击(图像
下面是我的适配器的代码和包含gridView的弹出视图.谢谢!
//Adapter
公共类ImageAdapter扩展BaseAdapter {
private Context mContext;
private int itemBackground;
public ImageAdapter(Context c) { mContext = c; //---setting the style--- TypedArray a = c.obtainStyledAttributes(R.styleable.Gallery1); itemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0); a.recycle(); }
….
public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(mContext); } else { imageView = (ImageView) convertView; } imageView.setImageResource(images[position]); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setBackgroundResource(itemBackground); return imageView; } public Integer[] images = { R.drawable.sound1, R.drawable.sound2, R.drawable.sound3, R.drawable.sound4 };
}
//////////In Activity, onCreate//////// ... final LayoutInflater inflater=(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); final TransparentLayout musicGrid = (TransparentLayout) inflater.inflate(R.layout.gridviewpopup, null, false); final GridView gView = (GridView) musicGrid.findViewById(R.id.music_gridview); gView.setAdapter(new ImageAdapter(this)); final PopupWindow soundSelectorWindow = new PopupWindow(this); soundSelectorWindow.setContentView(musicGrid); soundSelectorWindow.setTouchable(true); gView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { //NEVER GETS HERE soundSelectorWindow.dismiss(); } });如果删除soundSelectorWindow.setTouchable(true)会发生什么?