当自定义适配器还具有可聚焦项目时,突出显示列表中的所选项目?

时间:2011-10-13 06:59:40

标签: android android-listview

我正在使用自定义adapert,它具有执行某些功能的按钮。 现在其他需要的是OnItemClickedlistener,并且应该突出显示所选内容。 但是listview onitemselected listner无法正常工作,我该怎么办呢。

这是我的自定义适配器的getView。

public View getView(final int position,View convertView, final ViewGroup parent) {


    final ViewHolder holder;
    if(convertView == null)
    {
        convertView = mLayoutInflator.inflate(R.layout.businessbrieflist,null);

        holder = new ViewHolder();
            holder.callButton = (ImageButton) convertView.findViewById(R.id.call);
    holder.favButton = (ImageButton) convertView.findViewById(R.id.fav);
            convertView.setTag(holder);
    }else   
        holder = (ViewHolder) convertView.getTag();   


                holder.toProfile.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Log.e("Profile","Clicked");
                Intent t = new Intent(context,BusinessProfileActivity.class);
                ///t.putExtra("index",position);
                t.putExtra("index",arrayListBusinessList.get(position).getBusinessid());            
                TabGroupActivity parentActivity = (TabGroupActivity) context;
                parentActivity.startChildActivity("BusinessProfile", t);

            }
        });
    }

    convertView.setFocusable(true);
    convertView.setClickable(true);
    convertView.setId(position);    

    convertView.setOnClickListener(new OnClickListener() {              
        @Override
        public void onClick(View v) {
            if(!favorite)
            {
                Utility.debugger("POSITION"+position);
                                    parent.getChildAt(index).setBackgroundColor(Color.WHITE);


                            parent.getChildAt(position).setBackgroundColor(Color.BLUE); 
                            }
        }
    });
    return convertView;
}

1 个答案:

答案 0 :(得分:0)

做这样的事情。

public void onListItemClick(ListView parent, View v, int position, long id) {

     //your code here

    }

用于突出显示您可以在listview的xml文件中添加的所选项目,如下所示:

android:listSelector="Anydrawableimage/any colorcode(e.g #ffffff)"