Android listView中的涟漪效应
我有一个listview,它工作得很好,涟漪效应在列表项上工作。但我已经添加并使用了这个库来增加我的listvview的功能。一切正常,但添加库后,项目单击的涟漪不起作用 我的列表适配器的getview()Android listView中的涟漪效应,android,listview,ripple,Android,Listview,Ripple,我有一个listview,它工作得很好,涟漪效应在列表项上工作。但我已经添加并使用了这个库来增加我的listvview的功能。一切正常,但添加库后,项目单击的涟漪不起作用 我的列表适配器的getview() public View getView(final int position, View view, ViewGroup parent) { final ViewHolder holder; if(view == null){ holder = new Vie
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;
}
main活动oncrate()
内部FinalAdapter
类创建构造函数和OnClickListener
变量:
private OnClickListener listener;
FinalAdapter(Context ctx,codelist, OnClickListener listener ){
///super....
this.listener = listener;
}
然后在getView
中:
使用
请浏览此链接:顺便说一句,在每个getView中使用setOnclickListener是非常难看的!你的代码消耗了大量内存@Vyacheslav我试图在mainactivity中实现onitemclicklistener,但没有发现任何涟漪,因此尝试了这种方法,但仍然没有涟漪。顺便说一下,谢谢你的建议。以前不知道Riple效果是基于布局的布局。我猜您使用的库不是从正确的类继承,就是用其他东西覆盖样式。@DanielBo我认为库相当旧了。因此,它可能超越了这种风格。我怎样才能改变这个?
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();
}
}
private OnClickListener listener;
FinalAdapter(Context ctx,codelist, OnClickListener listener ){
///super....
this.listener = listener;
}
view.setTag(position);
view.setOnClickListener(listener);