1

アイテムクリック時にギャラリーで選択したアイテムを強調表示したい。

私のギャラリー getview モジュール

@Override
        public View getView(int position, View convertView, ViewGroup arg2) {
            // TODO Auto-generated method stub



            if(convertView==null){


                holder=new ViewHolder();
                convertView=inflate.inflate(R.layout.customfiltergallery, null);
                holder.image=(ImageView) convertView.findViewById(R.id.glview);
                holder.text=(TextView) convertView.findViewById(R.id.gltext);

                //holder.image.setLayoutParams(new Gallery.LayoutParams(100, 100));  
                holder.image.setScaleType(ImageView.ScaleType.FIT_CENTER);

                holder.image.setPadding(1,1,1,1);
                //holder.text.setPadding(10, 10, 10, 10);
                //holder.image.setBackgroundColor(Color.BLACK);


                convertView.setTag(holder);
            }


            else
            {
                holder=(ViewHolder) convertView.getTag();
            }


            holder.image.setImageResource(mImageIds[position]);





            return convertView;

        }

選択したギャラリー アイテムを強調表示したい。imageview内部にクリックリスナーを配置するGetview()と、アプリケーションの速度が低下します...

4

1 に答える 1

1

android.widget.Gallery (API 16 で非推奨)を使用している場合は、ギャラリー オブジェクトに OnItemClickListener を設定するだけです。

android.widget.Gallery gallery = (android.widget.Gallery) findViewById(R.id.your_gallery);

    gallery.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        // Here you should hightlight v object as you want
        // And save item id to dehightlight previous selected item
        // Dehighlight previous selected item if it is not null
    }
});

私はそれをそのようにします

于 2013-03-21T11:42:14.593 に答える