标签: recycler-adapter

我正在尝试将标题设置为staggardGridLayoutManeger

我想设置一个标题为staggardGridLayoutManeger我有这个网址的代码 https://github.com/willblaschko/header-footer-recycler-view.此代码包含所有类型的布局的页眉和页脚.任何人都可以帮助设置适配器只为staggardGridLayout这是样本的代码形式

enter code here
public class RecyclerViewHeaderFooterAdapter extends RecyclerView.Adapter {

public static final int TYPE_MANAGER_OTHER = 0;
public static final int TYPE_MANAGER_LINEAR = 1;
public static final int TYPE_MANAGER_GRID = 2;
public static final int TYPE_MANAGER_STAGGERED_GRID = 3;


public static final int TYPE_HEADER = 7898;
public static final int TYPE_FOOTER = 7899;

private List<View> mHeaders = new ArrayList<>();
private List<View> mFooters = new ArrayList<>();

private int mManagerType;
private RecyclerView.LayoutManager mManager;
private IRecyclerViewIntermediary mIntermediary;


public RecyclerViewHeaderFooterAdapter(RecyclerView.LayoutManager manager, IRecyclerViewIntermediary intermediary){ …
Run Code Online (Sandbox Code Playgroud)

android recycler-adapter

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

RecyclerView未设置适配器

我在一个片段中有三个回收者视图。我已经为其中两个设置了适配器。但是,一个回收者视图会使卡片视图夸大,而另一个则不能。

我已经调试了代码,没有显示的回收站视图的适配器没有被调用。

这是片段中的onViewCreated()方法

public void onViewCreated(View view, @NonNull Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        recyclerViewVendors = view.findViewById(R.id.rcyview_vendors);
        recyclerViewEvents = view.findViewById(R.id.rcyview_home_events);
        String json;
        try{

            InputStream is = getActivity().getAssets().open("vendorServices.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            if(is.read(buffer) == -1){
                throw new EOFException();
            }
            is.close();
            json = new String(buffer, StandardCharsets.UTF_8);

            JSONObject object = new JSONObject(json);
            JSONArray j_Array = object.getJSONArray("vendorServices");

            for(int i=0;i<j_Array.length();i++){
                JSONObject jo_inside = j_Array.getJSONObject(i);
                myDatasetVendors.add(new VendorService(
                        jo_inside.getString("name"),
                        jo_inside.getString("img")
                ));
            }


            is = getActivity().getAssets().open("activities.json");
            size = is.available();
            buffer = new byte[size];
            if …
Run Code Online (Sandbox Code Playgroud)

java android recycler-adapter android-recyclerview

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

如何正确实现ListView的适配器

我有一个ListView,Fragment我希望更新ListView从另一个返回时的数据Activity.我已经覆盖了该onResume()方法Fragment,修改了数据Adapter并调用notifyDataSetChanged()Adpater但不知何故ListView没有更新.我怀疑我的身体有问题Adapter,但我似乎无法找到错误.

这是我的代码Adpater:

class ManualExceptionsListAdapter extends BaseAdapter {

    private LayoutInflater mInflater;
    private TextView mManualExceptions;
    SwitchCompat mSwitch;
    TextView name;
    final Context context = getActivity();
    final SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
    int a;
    int ifUse = 0;

    ManualExceptionsListAdapter(LayoutInflater inflater) {
        mInflater = inflater;
    }

    @Override
    public int getCount() {
        return (mPermanentManualException.size()+mContactsExceptionNumber.size());
    }

    @Override
    public Object getItem(int i) {
        return null; …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-viewholder recycler-adapter android-recyclerview

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

从RecyclerViewAdapter启动新的Intent

我有RecyclerViewAdapter:

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



    private List<Cards> items;
    private int itemLayout;


    Context context;

    public RecycleViewAdapter(List<Cards> items, int itemLayout) {

        this.items = items;
        this.itemLayout= itemLayout;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

       View view=LayoutInflater.from(parent.getContext()).inflate(itemLayout,parent,false);
        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {


        Cards item=items.get(position);
        holder.title.setText(item.getName());
        String cardvalue = item.getCountry();
        String cardCode = item.getCode();
        String cardCountry = item.getCountry();


    }

    @Override
    public int getItemCount() {

        return items.size();
    }
    public static class  MyViewHolder extends …
Run Code Online (Sandbox Code Playgroud)

android android-intent recycler-adapter android-recyclerview

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

RecyclerView什么都没有显示

我的适配器中有一些项目,但RecyclerView中没有显示任何内容.

适配器

public class WorkOrderAdapter extends RecyclerView.Adapter<WorkOrderViewHolder> {

    private List<WorkOrder> orders = new LinkedList<>();

    public void setData(List<WorkOrder> orders) {
        this.orders = orders;
    }

    @Override
    public WorkOrderViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_workorder, parent, false);
        return new WorkOrderViewHolder(view);
    }

    @Override
    public void onBindViewHolder(WorkOrderViewHolder holder, int position) {
        WorkOrder order = orders.get(position);
        holder.bind(order);
    }

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

}
Run Code Online (Sandbox Code Playgroud)

ViewHolder

public class WorkOrderViewHolder extends RecyclerView.ViewHolder {

    private TextView title;
    private TextView description;
    private TextView date; …
Run Code Online (Sandbox Code Playgroud)

android recycler-adapter android-recyclerview

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

单击时,RecyclerView项目的X和Y为0

在a中RecyclerView,我试图获得点击项目的X和Y位置.这是在我的适配器内:

@Override
    public void onBindViewHolder(AlfabetoViewHolder holder, final int position) {
       // setImage(holder.imageButton, images.get(position));

        holder.imageButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                view.getX(); // This is 0, but it shouldn't be!
                view.getY(); // This is also 0.
                executaSomAnimacaoLetra(sounds.get(position), Utils.getResourceFromFile(popups.get(position), context), view); // I do some stuff here
            }
        });


    }
Run Code Online (Sandbox Code Playgroud)

事实是,X和Y都总是返回0,他们不应该.我需要点击项目的X和Y来做一些动画.

我已经尝试将X和Y位置放在一个内部和一个OnGlobalLayoutListener内部OnPreDrawListener(当你需要活动的onCreate上的X和Y时它们都工作),但它们也返回0.

我正在使用GridLayoutManager我的RecyclerView:

recyclerView.setLayoutManager(new GridLayoutManager(Activity_alfabeto.this, 7, LinearLayoutManager.VERTICAL, false));
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

android recycler-adapter android-recyclerview

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

如何使用android中的Text Watcher从Recycler View适配器获取Edit文本位置

我想知道如何从Recycler View适配器获取编辑文本的位置.我使用Card View,其中水平线性布局有三个视图TextView,EditText视图和TextView.我想从Recycler View Adapter中的Textwatcher获取特定的EditText位置.

适配器:

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

    private ArrayList < CartItemoriginal > cartlistadp;
    private ArrayList < Cartitemoringinaltwo > cartlistadp2;
    DisplayImageOptions options;
    private Context context;
    public static final String MyPREFERENCES = "MyPrefs";
    public static final String MYCARTPREFERENCE = "CartPrefs";
    public static final String MyCartQtyPreference = "Cartatyid";
    SharedPreferences.Editor editor;
    SharedPreferences shared,
    wishshared;
    SharedPreferences.Editor editors;
    String pos,
    qtyDelete;
    String date;
    String currentDateandTime;
    private static final int VIEW_TYPE_ONE = 1;
    private static final int VIEW_TYPE_TWO = …
Run Code Online (Sandbox Code Playgroud)

android android-layout recycler-adapter android-recyclerview

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

RecyclerView Adapter中的ProgressBar没有刷新

我面临与progressBar.setProgress()和的问题progressBar.setMax()

我有两个项目,通常需要像附加的屏幕截图一样显示视频的进度。仅对于第一个项目,在设置了进度之后,我有一些进度数据,我需要将第二个项目的进度设置为0(零)。但是第二项ProgressBar不会重置为零,而是显示为第一项的进度长度。

我在这里打印了Items的值:

// Item1
Media List total Duration : 84063
Media List total ProgressDuration : 19380
// Item2
Media List total Duration : 0
Media List total ProgressDuration : 0
Run Code Online (Sandbox Code Playgroud)

适配器代码:

class ViewHolder extends RecyclerView.ViewHolder {
    TextView fileName;
    ImageView ivThumbNail;
    ProgressBar progressBar;
    View mainContainer;
    View view;

    ViewHolder(View itemView) {
        super(itemView);
        view = itemView;
        mainContainer = itemView.findViewById(R.id.main_container);
        fileName = (TextView) itemView.findViewById(R.id.tv_file_name);
        ivThumbNail = (ImageView) itemView.findViewById(R.id.iv_thumbnail);
        progressBar = (ProgressBar) itemView.findViewById(R.id.progress_bar);
    }
}

@Override
public ViewHolder …
Run Code Online (Sandbox Code Playgroud)

java android android-progressbar recycler-adapter android-recyclerview

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

层次结构中找不到匹配的视图:可从类中分配:class android.widget.AdapterView

我试图使用onData获取循环视图,但我陷入了这个错误:

层次结构中找不到匹配的视图:可从类中分配:class android.widget.AdapterView

代码就是这样:

onData(allOf(isAssignableFrom(RecyclerView.class), withId(R.id.ce_musers_list)))
.check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
Run Code Online (Sandbox Code Playgroud)

我的适配器扩展RecyclerView.Adapter到RecycleView的应用程序,然而,匹配器正在寻找一个简单的适配器.这是我第一次使用espress,所以我可能会失败一些基本的东西.

我的Espresso版本是3.0.0

unit-testing android-espresso recycler-adapter android-recyclerview

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

NotifyDataSetChanged方法不会刷新我的RecyclerView Kotlin

我正在尝试理解为什么适配器方法notifyDataSetChanged()无法刷新我的recyclerview。我在适配器这样的创建方法时找到了解决方案:

 fun setData(list: List<DownloadModel>){
    resumeList = list
    notifyDataSetChanged()
 }
Run Code Online (Sandbox Code Playgroud)

此解决方案有效,但是,我想知道为什么我不能做这样的事情:

private lateinit var downloadAdapter: DownloadRecyclerAdapter

private fun setupAdapter() {
    downloadAdapter = DownloadRecyclerAdapter(
        this@DownloadActivity,
        downloadList,
        { id -> onViewClick(id) },
        { id -> onEditClick(id) },
        { id, position -> onDeleteClick(id, position) }
    )

    savedResumeRv.apply {
        layoutManager = LinearLayoutManager(context)
        layoutAnimation = AnimationUtils.loadLayoutAnimation(
            this@DownloadActivity,
            R.anim.layout_animation_down_to_up
        )
        adapter = downloadAdapter

    }
}

private fun observers() {
    downloadViewModel.getDownloadList().observe(this, Observer { list ->
        downloadList = list
        list?.let {
            downloadAdapter.notifyDataSetChanged()
            }
        })
}
Run Code Online (Sandbox Code Playgroud)

downloadAdapter持有列表downloadList的相同实例,我不知道为什么当我在活动中通知适配器时无法正常工作。

android kotlin recycler-adapter android-recyclerview

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