0

私はlistViewとアダプターを持っています:

resultAdapter = new SimpleCursorAdapter(getActivity(),
                R.layout.custom_products_list, null, new String[] {

                StoreData.Product.NAME,
                        StoreData.Product.PRICE,
                        StoreData.BrandRecord.NAME3 }, new int[] {
                        R.id.productItem, R.id.productPItem,
                        R.id.productBItem }, 0){

                            @Override
                            public View getView(int position, View convertView,
                                    ViewGroup parent) {
                                View viewGroup=super.getView(position, convertView, parent);
                                  if (position % 2 == 0)
                                        viewGroup.setBackgroundResource(color.even_row_color);
                                    else
                                        viewGroup.setBackgroundResource(android.R.color.background_light);
                                //viewGroup.setClickable(true);
                                  return viewGroup;
                            }

        };

これは2色のリストを作成することです。すべてうまくいきました。2色のアイテムのリストがあります。しかし、リストのいずれかのアイテムをクリックすると、プッシュ効果が消えます。色を変えたいアイテムをクリックすると、基本的なリストビューのような効果が見たいです。どうすればそれができますか?

4

1 に答える 1

1

変更を加えてconvertView、それを返すようにしてください:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) { 
             LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView=li.inflate(R.layout.custom_products_list, null);
           }
                  if (position % 2 == 0)
                                    convertView.setBackgroundResource(color.even_row_color);
                                else
                                    convertView.setBackgroundResource(android.R.color.background_light);
        return convertView;
    }
于 2012-12-10T13:15:31.210 に答える