当前位置: 首页 > 知识库问答 >
问题:

带改装的再循环视图2

葛修永
2023-03-14

我尝试使用Reform2执行recyclerView,但我在代码中执行了:recyclerView适配器构造函数,并且我在此行的MainActivity部分中得到了一个错误-“(flowersList,this)”:我得到了错误:列出匿名Reform2。回调函数

RecyclerViewFlowersAdapter recyclerViewAdapter = new RecyclerViewFlowersAdapter(flowersList, this);

我的代码我的主要活动是:

  try {
        APIService service = ApiClient.getRetrofit().create(APIService.class);
        retrofit2.Call<List<Flower>> call = service.getFlowerData();
        call.enqueue(new Callback<List<Flower>>() {

            @Override
            public void onResponse(retrofit2.Call<List<Flower>> call, Response<List<Flower>> response) {
                List<Flower> flowersList = response.body();
                mLinearLayoutManager = new LinearLayoutManager(MainActivity.this);

                mRecyclerView = findViewById(R.id.recycler_view);
                mRecyclerView.setLayoutManager(mLinearLayoutManager);

                RecyclerViewFlowersAdapter recyclerViewAdapter = new RecyclerViewFlowersAdapter(flowersList, this);
                mRecyclerView.setAdapter(recyclerViewAdapter);
            }

RecycleServiceWFlowerAdapter中的代码是:

public class RecyclerViewFlowersAdapter extends RecyclerView.Adapter<RecyclerViewHolder> {
private List<Flower> mFlowers;
private Context mContext;

public RecyclerViewFlowersAdapter(List<Flower> flowers, Context context) {
    mContext = context;
    mFlowers = flowers;
}


@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.flower_item_card, null);
    RecyclerViewHolder recyclerViewHolder = new RecyclerViewHolder(view);
    return recyclerViewHolder;
}

@Override
public void onBindViewHolder(RecyclerViewHolder holder, int position) {
 holder.mTextViewTitle.setText(mFlowers.get(position).getName());

    Picasso.with(mContext)
            .load(mFlowers.get(position).getPhoto()).into(holder.mImageViewFlower);

}

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

}

我在RecycleServiceWholder中的代码是:

public class RecyclerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

public TextView mTextViewTitle;
public ImageView mImageViewFlower;


public RecyclerViewHolder(View itemView){
    super(itemView);
    itemView.setOnClickListener(this);

    mTextViewTitle = itemView.findViewById(R.id.title);
    mImageViewFlower = itemView.findViewById(R.id.imageViewFlower);

}

@Override
public void onClick(View v) {

}

}

我尝试做很多事情,但仍然是错误的。

共有1个答案

韦泳
2023-03-14

您可能使用了错误的上下文,请尝试使用MainActivity。此而不是此。更改此

RecyclerViewFlowersAdapter recyclerViewAdapter = new RecyclerViewFlowersAdapter(flowersList, this);

到这个

RecyclerViewFlowersAdapter recyclerViewAdapter = new RecyclerViewFlowersAdapter(flowersList, MainActivity.this);
 类似资料:
  • 我想在点击recyclerview项目时更新Imageview的图像。下面我发布了我的布局截图: 小图像在recycler视图中,大绿色图像在recycler视图之外。 }//这是活动类 } 我想,当用户点击任何回收器视图时,图像意味着小图像,它将显示在回收器视图之外的大图像视图中。

  • 我的循环视图滚动太慢了。当我通过触摸Recyclerview开始滚动时,它会滞后,但当从上方的视图开始滚动时不会滞后。我还禁用了recyclerview上的嵌套滚动。 这是我的布局: 这是一个滞后的视频。就像滚动跳过了一些布局。

  • 我想确定回收站视图中最明显的项目,因此我使用以下方法: 它工作得很好,但是在我更改数据集,并在我的适配器中调用任何方法后,如果我尝试使用上述函数,则和返回的项目位置是错误的。 我注意到他们都在幕后使用getlayoutposition,我还注意到在文档上写着: 听起来好像正是我正在寻找的,但我不知道如何从中访问它。 有什么想法吗? 谢谢你。

  • 实现循环ScrollView。有以下特色: 1、循环的scrollview 2、类似于tableview的编程方式 3、可定制化的内容 4、灵活运用可用于移步加载图片 5、结构化,可扩展性高 [Code4App.com]

  • Vuejs的视图,使用了"指令"(directive). 下面分别来说. 注意: 无论是v-if 还是v-for, 都要与某个标签结合使用. 这点跟JSP, PHP, Rails很不同. 循环: v-for <tr v-for="blog in blogs"> <td >{{blog.title }}</td> </tr> 上面代码,会被渲染成: <tr> <td>...</td>

  • 所以我在垂直ScrollView中有一个水平回收器视图。我的布局中的所有内容都显示得很好,并且都按照我想要的方向滚动,并且它做得很好。 我唯一的问题是,RecyclerView位于ScrollView中其他内容的下方,当RecyclerViewer部分可见时,它会在启动时将RecyclerView的底部与屏幕的底部对齐。这意味着RecyclerView上方的内容被推离屏幕。 有谁知道为什么会发生这