简体   繁体   中英

Ripple effect in listView

I have a listview which works fine, the ripple effect works on list item press . but I have added and used slide expandable list view library to increase functionality of my listvview. Everything works fine but after adding the library the ripple on item click is not working

getview ()of my list adapter

public View getView(final int position, View view, ViewGroup parent)
{
    final ViewHolder holder;
    if(view == null){
        holder = new ViewHolder();
        view = inflater.inflate(R.layout.testlistitem,null);
        holder.listHeading = (TextView) view.findViewById(R.id.beg_list_itemTextView);

        holder.listHash = (TextView) view.findViewById(R.id.listview_hashtags);
        holder.alphabetList = (ImageView) view.findViewById(R.id.beg_list_itemImageView);

        holder.favariteImage = (ImageView) view.findViewById(R.id.favbtn);

        view.setTag(holder);

    }else{
        holder = (ViewHolder) view.getTag();
    }
    CodeList codes = (CodeList) getItem(position);
    holder.listHeading.setText(codeList.get(position).getListHeading());
    holder.listHash.setText(codeList.get(position).getListHashText());
    imageLoader.DisplayImage(codeList.get(position).getAlphabetimg(),
                             holder.alphabetList);


    if (checkFavoriteItem(codes)) {
        holder.favariteImage.setImageResource(R.drawable.favorite);
        holder.favariteImage.setTag("yes");
    } else {
        holder.favariteImage.setImageResource(R.drawable.unfavorite);
        holder.favariteImage.setTag("no");
    }                    


    view.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0){
                Intent intent = new Intent(context, SingleItemView.class);

                //intent.putExtra("listheading",
                //       (codeList.get(position).getListHeading()));
                //intent.putExtra("alphabetimg",
                //              (codeList.get(position).getAlphabetimg()));

                intent.putExtra("demovideo",
                                (codeList.get(position).getDailogdemovideo()));


                context.startActivity(intent);

            }
        });     


    return view;
}

mainactivity oncrate()

listview = (ListView) findViewById(R.id.inter_layoutListView);
        // Pass the results into ListViewAdapter.java
        adapter = new FinalAdapter(InterActivity.this,
                                      codelist);

        listview.setAdapter(new SlideExpandableListAdapter(adapter, R.id.expandbutton, R.id.expandable));
public class ASummary extends Activity implements OnClickListener{

//.....
@Override
    protected void onCreate(Bundle savedInstanceState) {

        ///...
adapter = new FinalAdapter(InterActivity.this,
                                      codelist,this);
///...
}
//....
@Override
    public void onClick(View v) {
        int id = (Integer) v.getTag();

      }

}

inside FinalAdapter class create constructor and OnClickListener variable:

private OnClickListener listener;
FinalAdapter(Context ctx,codelist, OnClickListener listener ){

///super....

this.listener = listener;
}

then in getView : use

view.setTag(position);
view.setOnClickListener(listener);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM