- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道我的问题已被问过好几次,但我已经搜索了一段时间,但没有一个答案能解决我的问题。问题是,当我在我的“HomeFragment”中创建 recyclerview 适配器和方法“onViewCreated”中的所有内容时,我没有任何编译错误,但我的 recyclerview 没有加载任何图像,因为没有任何方法在 recyclerview 适配器中被覆盖即使在我调用“mAdapter.notifyDataSetChanged()”时也会被调用
首页 fragment .java
public class HomeFragment extends Fragment implements Response.Listener<GalleryItem[]>, Response.ErrorListener {
RequestQueue requestQueue;
List<GalleryItem> myDataset = new ArrayList<>();
RecyclerView mRecyclerView;
RecyclerView.Adapter mAdapter;
RecyclerView.LayoutManager mLayoutManager;
CustomJsonObjectRequest jsonObjectRequest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.home_fragment, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
mRecyclerView = view.findViewById(R.id.my_recycler_view);
mRecyclerView.setHasFixedSize(true);
mAdapter = new GalleryAdapter(myDataset);
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(mAdapter);
jsonObjectRequest = new CustomJsonObjectRequest(Constants.HOME_URL, GalleryItem[].class, this, this);
requestQueue = VolleySingleton.getInstance(this.getContext()).getRequestQueue();
VolleySingleton.getInstance(this.getContext()).addToRequestQueue(jsonObjectRequest, "headerRequest");
}
@Override
public void onResponse(GalleryItem[] response) {
myDataset = Arrays.asList(response);
mAdapter.notifyDataSetChanged();
}
@Override
public void onErrorResponse(VolleyError error) {
Log.d(Constants.API_ERROR_TAG, error.getMessage());
}
画廊适配器.java
public class GalleryAdapter extends RecyclerView.Adapter<GalleryAdapter.MyViewHolder> {
private List<GalleryItem> mDataset;
public static class MyViewHolder extends RecyclerView.ViewHolder {
ImageView imageView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
Log.d("tagdetest2","myviewholder");
imageView = itemView.findViewById(R.id.gallery_image);
}
}
public GalleryAdapter(List<GalleryItem> myDataset) {
mDataset = myDataset;
}
@NonNull
@Override
public GalleryAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
Log.d("tagdetest2","onCreateViewHolder");
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_gallery, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull GalleryAdapter.MyViewHolder myViewHolder, int i) {
Log.d("tagdetest2", mDataset.get(i).link);
Glide.with(myViewHolder.itemView.getContext()).load(mDataset.get(i).link).into(myViewHolder.imageView);
}
@Override
public int getItemCount() {
Log.d("tagdetest", "size = " + mDataset.size());
return mDataset.size();
}
item_gallery.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/gallery_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
home_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</android.support.constraint.ConstraintLayout>
最佳答案
myDataset = Arrays.asList(response);
覆盖引用,在你的 fragment 中而不是在你的适配器中。
试试
mDataset.addAll(Arrays.asList(response));
插入
关于java - 未调用 RecyclerView 重写方法并且 getItemCount 始终返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53299224/
我遇到以下问题,不幸的是,我的应用程序在进入下一个 Activity 时停止了。罪魁祸首是: public class RecyclerAdapter extends RecyclerView.
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我调查了关于这个问题的几个 SO 答案(here、here、and here),但没有一个提议的解决方案有效。我的问题是没有显示我的 RecyclerView 列表项。我在 MessengerRecy
我有一个 recyclerView,它让我崩溃: 这是我的开始 Activity : public class StartActivity extends AppCompatActivity {
在您将问题标记为重复之前请阅读问题... 所以我正在尝试使用 Intent 从图库中选择多张图片。当我选择多于 1 张图片时,它工作正常,当我只选择 1 张图片时,它会生成此错误。我寻找了每个 Nul
我为 RecyclerView 创建了一个 FirebaseRecylerAdapter,我的问题是 FirebaseRecyclerAdapter 没有调用 onCreateViewHolder(因
我想在任何给定时间获取“Activity ”键的计数。现在根据 API 文档 getItemCount() 应该返回此值。 然而事实并非如此。过期的键不会减少 getItemCount() 的值。为什
我查看了 SO 上关于此的其他问题,并逐字逐句匹配,但我一定错过了一些东西,因为没有任何效果。 getItemCount() 返回零,但我调试了我的数据列表,它似乎正确地添加了我的所有数据,所以与适配
我创建了一个工作正常的适配器。现在,我需要计算适配器中数据项的数量。我正在使用函数 getItemcount() ,但我每次都得到 0。另外,我正在使用 Firebase 来处理我的数据库。 fi
我刚刚制作了一个回收器 View ,但它没有工作,所以我在 getItemCount 上设置了一个断点,但该方法没有被调用。我从未见过 SO 上的任何其他人有这个特定问题,我相信这是非常明显的事情。这
如果 RecyclerView 为空,我会尝试显示 TextView。但是 ListAdapter 的 getItemCount() 总是返回 0,即使 RecyclerView 显示项目也是如此。
RecyclerView 有一个 InfiniteScrollListener 并且在该监听器内部,在 OnScrolled() 方法中我计算可见项和总项数以检查是否应加载新项。当totalItemC
请调查一下,让我知道哪里出了问题。 public class MyAdapter extends RecyclerView.Adapter { private ItemData[] items
本文整理了Java中com.tc.admin.common.XComboBox.getItemCount()方法的一些代码示例,展示了XComboBox.getItemCount()的具体用法。这些代
本文整理了Java中org.jfree.data.xy.XYIntervalSeries.getItemCount()方法的一些代码示例,展示了XYIntervalSeries.getItemCoun
本文整理了Java中org.jfree.data.xy.YIntervalSeries.getItemCount()方法的一些代码示例,展示了YIntervalSeries.getItemCount(
我遇到了一个奇怪的错误,如果 getItemCount 返回 1(数据结构的大小),适配器不会显示任何卡片。 我的适配器代码 - public class SingleAdapter extends
我知道我的问题已被问过好几次,但我已经搜索了一段时间,但没有一个答案能解决我的问题。问题是,当我在我的“HomeFragment”中创建 recyclerview 适配器和方法“onViewCreat
我从使用 FlatList 切换到 VirtualizedList,并收到错误 this.props.getItemCount 不是函数。当我运行调试器时,VirtualizedList.js 抛出异
文档对 getItemCount() 的描述如下: Returns the number of items in the adapter bound to the parent RecyclerVie
我是一名优秀的程序员,十分优秀!