Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android L的RecyclerView中的挑战大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在玩RecyclerView一点点.有没有简单的方法来放置RecyclerView中的项目OnClickListener?我试过在ViewHolder中实现它. onClick事件从未触发过.

我已经使用NotifyItemInserted(position)将新值添加到RecyclerView中.用户界面没有自动刷新.需要上下刷新.但是当我调用notifyDatasetChanged(..)时,没关系.

我已经将DefaultItemAnimator应用到RecyclerView.但是,当新的项目添加时,没有看到任何动画.

感谢提前任何想法.

这是我测试过的第一个Android L组件,我正在那里.

这是我的适配器类:

public class AdapterRecyclerView extends RecyclerView.Adapter<AdapterRecyclerView.MyViewHolder> {

private List<String> arrExperiences;

//Provide a reference to the type of views that you are using - Custom ViewHolder
public class MyViewHolder extends RecyclerView.ViewHolder {

    public TextView tvExperiencetitle;
    public TextView tvExperienceDesc;

    public MyViewHolder(RelativeLayout itemView) {
        super(itemView);
        tvExperiencetitle = (TextView) itemView.findViewById(R.id.tv_experience_titlE);
        tvExperienceDesc = (TextView) itemView.findViewById(R.id.tv_experience_desc);
    }

}

//Provide a suitable constructor : depending on the kind of dataset.
public AdapterRecyclerView(List<String> arrExperiences){
    this.arrExperiences = arrExperiences;
}

//Create new view : invoke by a Layout Manager
@Override
public AdapterRecyclerView.MyViewHolder onCreateViewHolder(ViewGroup parent,int viewTypE) {
    RelativeLayout view = (RelativeLayout) LayoutInflater.from(parent.getContext()).inflate(R.layout.view_item_recycler,parent,falsE);
    MyViewHolder myViewHolder = new MyViewHolder(view);
    return myViewHolder;
}

@Override
public void onBindViewHolder(AdapterRecyclerView.MyViewHolder viewHolder,int position) {
    //get element from your dataset at this position.
    //replace the content of the view with this element.
    viewHolder.tvExperiencetitle.setText(arrExperiences.get(position));
}

@Override
public int getItemCount() {
    return arrExperiences.size();
}

public void addExperience(String experience,int position){
    arrExperiences.add(position,experiencE);
    notifyItemInserted(position);
    //notifyDataSetChanged();
}

public void removeExperience(){
    int index = (int) (Math.random() * arrExperiences.size());
    arrExperiences.remove(indeX);
    notifyItemRemoved(indeX);
    //notifyDataSetChanged();
}
}

解决方法

只需将其添加到您的适配器中即可:
@Override
public void onBindViewHolder(AdapterRecyclerView.MyViewHolder viewHolder,int position) {
    yourItems.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View v) {
          //do your stuff
       }
   });
}

希望你能接受这个答案.

大佬总结

以上是大佬教程为你收集整理的Android L的RecyclerView中的挑战全部内容,希望文章能够帮你解决Android L的RecyclerView中的挑战所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。