标签: recycler-adapter

RecyclerView onClick在过滤器适配器上的geting错误

我有可过滤和可点击的RecyclerView.但是当我过滤这个适配器时,我感到很恐怖

过滤前:

在过滤之前

过滤后:

仍然显示位置3的项目

过滤后

我的适配器:

public class PasalBabAdapter extends RecyclerView.Adapter<PasalBabVH> {

    private List<PasalBabModel> mPasalBabModel;
    private MyItemClickListener mItemClickListener;
    private MyItemLongClickListener mItemLongClickListener;

    public PasalBabAdapter(List<PasalBabModel> mPasalBabModel) {
        this.mPasalBabModel = mPasalBabModel;
    }

    @Override
    public void onBindViewHolder(PasalBabVH holder, int position) {
        PasalBabModel bean = mPasalBabModel.get(position);
        holder.p_TextView.setText(bean.pasalbab_p);
        holder.b_TextView.setText(bean.pasalbab_b);
    }

    public PasalBabVH onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.pasalbab_row, parent, false);
        PasalBabVH vh = new PasalBabVH(itemView, mItemClickListener, mItemLongClickListener);
        return vh;
    }


    public void setFilter(List<PasalBabModel> PasalBabModels) {
        mPasalBabModel = new ArrayList<>();
        mPasalBabModel.addAll(PasalBabModels);
        notifyDataSetChanged();
    } …
Run Code Online (Sandbox Code Playgroud)

android onclick android-adapter recycler-adapter android-recyclerview

2
推荐指数
1
解决办法
1260
查看次数

宽度小于match_parent的水平回收站视图

有一个水平的recyclerview。希望宽度小于match_parent,仅能查看下一项的某些像素。有没有办法做到这一点?

在此处输入图片说明

android recycler-adapter android-recyclerview

2
推荐指数
1
解决办法
2913
查看次数

回滚视图在滚动时获得更改

我正在尝试动态更改RecycleView中的图像.它会成功更改,但是当我滚动RecycleView时,ImageView将会发生变化

这是我的适配器类代码:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolders> {
    private List<ItemObject> itemList;
    private Context context;
    OnGridSelected onGridObj;
    public RecyclerViewAdapter(Context context, List<ItemObject> itemList,OnGridSelected onGridObj) {
        this.itemList = itemList;
        this.context = context;
        this.onGridObj = onGridObj;
    }
    @Override
    public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
        View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view_list, null);
        RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView,itemList,onGridObj);
        return rcv;
    }
    @Override
    public void onBindViewHolder(RecyclerViewHolders holder, int position) {
        if(!itemList.get(position).isSelected()) {
            holder.countryName.setText(itemList.get(position).getName());
            holder.countryPhoto.setImageResource(itemList.get(position).getPhoto());
            itemList.get(position).setIsSelected(true);
        }
    }
    @Override
    public int getItemCount() {
        return this.itemList.size();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何防止回收视图回收?

android recycler-adapter android-recyclerview

1
推荐指数
1
解决办法
3568
查看次数

无法从Recycler View Adapter启动Activity

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

private List<Vendor> vendorList;


public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    public TextView name, rating, address;
    RelativeLayout rl;
    Context con;

    public MyViewHolder(View view) {
        super(view);
        name = (TextView) view.findViewById(R.id.tv1);
        address = (TextView) view.findViewById(R.id.tv2);
        rating = (TextView) view.findViewById(R.id.txtstar);
        rl=(RelativeLayout)view.findViewById(R.id.parentLayout);
        itemView.setClickable(true);
        itemView.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent (v.getContext(), StartActivity.class);
         con.startActivity(intent);

    }
}


public VendorAdapter(List<Vendor> vendorList,Context con) {
    this.vendorList = vendorList;

}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { …
Run Code Online (Sandbox Code Playgroud)

android onclick recycler-adapter

1
推荐指数
1
解决办法
5247
查看次数

使用具有不同布局的相同recyclerview适配器

我有一个带有3个textviews的recyclerview适配器.我用模型类来设置文本.现在我想使用具有不同布局的相同适配器和不同的类,只有1个textview.当我尝试时,我得到NullPointerException(可能是因为其他2个textviews是空白的).有没有办法使用不同布局和不同类别的相同适配器?

// second class - I used 1 textview 

public class Customers extends AppCompatActivity{

    private CShowProgress cShowProgress;
    private RecyclerView mRecyclerView;
    private TimeLineAdapter mTimeLineAdapter;
    private List<TimeLineModel> mDataList = new ArrayList<>();
    private static final String CUSTOMERS = "http://192.168.200.3/ubooktoday/android/showspacustomerlist";

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.customers);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        cShowProgress = CShowProgress.getInstance();

        mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        mRecyclerView.setLayoutManager(getLinearLayoutManager());
        mRecyclerView.setHasFixedSize(true);

        showCustomers();
    }

    private void showCustomers() {

        if(mDataList!=null )mDataList.clear();

        cShowProgress.showProgress(Customers.this);

        StringRequest stringRequest = new StringRequest(Request.Method.POST, CUSTOMERS,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                        cShowProgress.hideProgress(); …
Run Code Online (Sandbox Code Playgroud)

android recycler-adapter android-recyclerview

1
推荐指数
1
解决办法
2157
查看次数

循环视图膨胀不同的行: - 在绑定数据时获取异常


我正在研究Recyceview不同项目的通货膨胀.当我没有绑定onBindViewHolder方法上的数据RecycleView比它不崩溃..
但当我绑定数据内部onBindViewHolder比我得到的Exception,请检查我的代码,让我知道我在哪里做错了.

package com.tv.practise.adapter;

  /**
    Created by Ravindra Kushwaha on 10/10/16.
   */

public class RecycleDataAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

private Context mContext;
private ArrayList<RecycleBen> data;

public static class SimpleText extends RecyclerView.ViewHolder {
    TextView first_data_tv;

    public SimpleText(View v) {
        super(v);
        this.first_data_tv = (TextView) v.findViewById(R.id.first_data_tv);
    }
}

public   class SimpleImage extends  RecyclerView.ViewHolder {
    ImageView second_data_iv;

    public SimpleImage(View v) {
        super(v);
        this.second_data_iv = (ImageView) v.findViewById(R.id.second_data_iv);
    }
}

public  class SimpleImageWithText extends  RecyclerView.ViewHolder …
Run Code Online (Sandbox Code Playgroud)

android recycler-adapter android-recyclerview

1
推荐指数
1
解决办法
4660
查看次数

RecyclerView滚动到底部

我有一个带有100多件物品的recyclerView.当用户打开包含recyclerView的活动时,应该可以看到recyclerView的底部,而没有任何滚动效果.应该直接显示适配器的最后一页,就像whatsapp的聊天页面一样.

我尝试过以下方式,但是当用户打开活动时它会显示滚动效果.

recyclerView.smoothScrollToPosition(list.size());
Run Code Online (Sandbox Code Playgroud)

android recycler-adapter android-recyclerview

1
推荐指数
2
解决办法
7636
查看次数

getter和setter在recyclerview android中没有按预期工作

我从截击请求获得json值.我使用setter方法将这些值添加到列表中.当我在适配器onBindViewholder()方法中检索值并在recyclerview中显示结果时,结果未按预期显示:

下面的代码是指在MainActivity.java中从排序请求和响应中向列表添加值:

    private ProductsPojo pojo;
    public static ProductsAdapter productsAdapter;
    private List<ProductsPojo> pojoList;

    pojo = new ProductsPojo();
    pojoList = new ArrayList<>();

StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
//            Log.d("Appet8","Products response:"+response.toString());

                try {
                   JSONObject jsonObject = new JSONObject(response);
                   JSONArray products = jsonObject.getJSONArray("products");

                   for (int i=0;i<products.length();i++) {
                       JSONObject product_object = products.getJSONObject(i);
                       String name = product_object.getString("name");
                       String price = product_object.getString("price");
                       String product_id = product_object.getString("id");
                       String sessionname = product_object.getString("sessionname");
                       String image = product_object.getString("image");
                       String categoryname = …
Run Code Online (Sandbox Code Playgroud)

java android android-adapter recycler-adapter android-recyclerview

1
推荐指数
1
解决办法
789
查看次数

如何在Recyclerview中将所选项目位置更改为顶部?

我有recyclerview,我想在选择项目之后动态地将项目的位置更改为顶部recyclerview.

请建议实现上述问题的最佳方法?

android recycler-adapter android-recyclerview

1
推荐指数
2
解决办法
3687
查看次数

RecyclerView notifyItemRangeInserted不保持滚动位置

我有一个简单的带有项目(技巧)的recyclerview,底部有一个加载微调器。

这是项目计数和项目视图类型方法的外观:

  @Override
  public int getItemViewType(int position) {
    if (position == getItemCount() - 1) { // last position
      return LOADING_FOOTER_VIEW_TYPE;
    }
    else {
      return TIP_VIEW_TYPE;
    }
  }

  @Override
  public int getItemCount() {
    return tips.size() + 1; // + 1 for the loading footer
  }
Run Code Online (Sandbox Code Playgroud)

基本上,我在所有物品下都只有一个加载微调器。

我曾经这样创建适配器:

  public TipsListAdapter(TipsActivity tipsActivity, ArrayList<Tip> tips) {
    this.tipsActivity = tipsActivity;
    this.tips = tips;
  }
Run Code Online (Sandbox Code Playgroud)

然后,一旦我获取了其他项目,就可以像这样调用add:

public void addTips(List<Tip> tips) {

    // hide the loading footer temporarily
    isAdding = true;
    notifyItemChanged(getItemCount() - 1);

    // insert the …
Run Code Online (Sandbox Code Playgroud)

android android-support-library recycler-adapter android-recyclerview recyclerview-layout

1
推荐指数
1
解决办法
2230
查看次数