- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从我的 Firebase 获取一些数据,因此我在 Activity 中创建了 recycleview 来获取数据,并且它工作没有问题。
但是现在,我将回收添加到 fragment 中以获取数据,它成功获取了数据,但我看不到它,firenase(成功)告诉我它有效,但我看不到回收 View 。
我搜索了很多,没有找到任何解决方案,还有另一个有同样的问题,他没有找到其他解决方案,这里。
RecyclerView doesn't appear in Fragment
我尝试了这个问题的所有解决方案,但没有成功,现在我花了两个多月也没有找出问题所在。
FriendsFragment
public class FriendsFragment extends Fragment {
DatabaseReference databaseReference;
RecyclerView recyclerView;
RecyclerView.Adapter adapter ;
ProgressDialog progressDialog;
List<ImageUploadInfo> list = new ArrayList<>();
private Context context;
public FriendsFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(com.wanjy.dannie.rivchat.R.layout.fragment_people, container, false);
context = view.getContext();
recyclerView = (RecyclerView) view.findViewById(R.id.recycleListFriend);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
progressDialog = new ProgressDialog(context);
progressDialog.setMessage("Loading Images From Firebase.");
progressDialog.show();
databaseReference = FirebaseDatabase.getInstance().getReference("All_Image_Uploads_Database");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
ImageUploadInfo imageUploadInfo = postSnapshot.getValue(ImageUploadInfo.class);
list.add(imageUploadInfo);
}
adapter = new RecyclerViewAdapter(context, list);
recyclerView.setAdapter(adapter);
progressDialog.dismiss();
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Hiding the progress dialog.
progressDialog.dismiss();
}
});
return inflater.inflate(R.layout.fragment_people, container, false);
}
}
RecyclerViewAdapter
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
Context context;
List<ImageUploadInfo> MainImageUploadInfoList;
public RecyclerViewAdapter(Context context, List<ImageUploadInfo> TempList) {
this.MainImageUploadInfoList = TempList;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_items, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
ImageUploadInfo UploadInfo = MainImageUploadInfoList.get(position);
holder.imageNameTextView.setText(UploadInfo.getImageName());
//Loading image from Glide library.
Glide.with(context).load(UploadInfo.getImageURL()).into(holder.imageView);
}
@Override
public int getItemCount() {
return MainImageUploadInfoList.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public TextView imageNameTextView;
public ViewHolder(View itemView) {
super(itemView);
imageView = (ImageView) itemView.findViewById(R.id.imageView);
imageNameTextView = (TextView) itemView.findViewById(R.id.ImageNameTextView);
}
}
}
图片上传信息
public class ImageUploadInfo {
public String imageName;
public String imageURL;
public ImageUploadInfo() {
}
public ImageUploadInfo(String name, String url) {
this.imageName = name;
this.imageURL= url;
}
public String getImageName() {
return imageName;
}
public String getImageURL() {
return imageURL;
}
}
recyclerview_items
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardview1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardElevation="5dp"
card_view:contentPadding="5dp"
card_view:cardCornerRadius="5dp"
card_view:cardMaxElevation="5dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="vertical">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
android:background="#FFFFFF"
android:padding="1dp">
<ImageView
android:layout_height="50dp"
android:layout_width="50dp"
android:src="@android:drawable/ic_delete"
android:scaleType="fitXY"/>
<LinearLayout
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:orientation="vertical"
android:background="#FFFFFF"
android:layout_weight="1.0"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="#000000"
android:text="أخبار الدولة"
android:gravity="center"
android:id="@+id/myname"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="التاريخ"
android:id="@+id/date"
android:textColor="#000000"/>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="180dp"
android:src="@mipmap/ic_launcher"
android:background="#FFFFFF"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:layout_weight="1.0"
android:textSize="14sp"
android:textColor="#000000"
android:layout_gravity="right"
android:padding="4dp"
android:gravity="right"
android:id="@+id/ImageNameTextView"/>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
android:background="#FFFFFF"
android:padding="2dp">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:background="#FFFFFF"
android:layout_weight="1.0"
android:gravity="center">
<ImageView
android:layout_height="30dp"
android:layout_width="30dp"
android:src="@android:drawable/ic_delete"
android:scaleType="fitXY"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="0"
android:textColor="#000000"
android:padding="2dp"/>
</LinearLayout>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:background="#FFFFFF"
android:layout_weight="1.0"
android:gravity="center">
<ImageView
android:layout_height="30dp"
android:layout_width="30dp"
android:src="@android:drawable/ic_delete"
android:scaleType="fitXY"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="0"
android:textColor="#000000"
android:padding="2dp"/>
</LinearLayout>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:background="#FFFFFF"
android:layout_weight="1.0"
android:gravity="center">
<ImageView
android:layout_height="30dp"
android:layout_width="30dp"
android:src="@android:drawable/ic_delete"
android:scaleType="fitXY"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="0"
android:textColor="#000000"
android:padding="2dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
fragment_people
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycleListFriend"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp" />
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
我的构建梯度
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.google.firebase:firebase-core:9.8.0'
compile 'com.google.firebase:firebase-database:9.8.0'
compile 'com.google.firebase:firebase-auth:9.8.0'
testCompile 'junit:junit:4.12'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.yarolegovich:lovely-dialog:1.0.4'
compile 'com.android.support:cardview-v7:25.0.1'
compile 'com.android.support:percent:25.0.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
我希望有人发现我的代码中的问题。
最佳答案
你能在 fragment 中显示任何 View 吗?我注意到您的 MyFragment
类正在初始化 fragment_people.xml
但您的 xml 类被命名为 Fragment.xml
除非这是一个拼写错误。在认为这是回收器 View 问题之前,请验证您可以在 fragment 中显示任何类型的 View 。
此外,在您的适配器中,您正在使用名为 recyclerview_items.xml
的项目布局,但您有名为 Recycle item
的类,除非这也是一个拼写错误。
关于java - Recycleview 没有出现在 Fragment 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60044951/
我已将 RecycleView 添加到我的 XML 中,如下所示: 我在 build.gradle 中的依赖项定义如下: dependencies { implementation
我正在尝试做一件简单的事情,它将所有图像从外部存储中获取到回收 View 并显示它们。 我的问题是,出于某种原因,我收到了 null,但我不知道为什么。我成功地将所有图像放入字符串数组列表中。然后在
我正在使用 this处理我的图书馆 RecycleView添加项目。我有一个 ImageView 的布局和一个类(class)。我有一个对象列表,我想将它们添加到 RecycleView . 基本上是
我正在尝试为我的应用实现搜索过滤器,但我不知道该怎么做。我看到了一个问题 this one here但这只会让我更加困惑。这就是我到目前为止所做的:我在我的主要 Activity 中这样调用 frag
我有这样的布局 我希望 admob View 占用空间,然后所有剩余的 View 都应由 recycleview 占用。发生的事情是
我正在从 Recyclerview 获取数据 我正在我的应用程序中添加 searchview 过滤器,但是当我搜索大写和小写文本时没有找到结果我认为可能会导致字符串出现问题,请帮助我解决这个问题!!
我已经为 RecycleViews 构建了一个自定义渲染器。 我一直遇到一个问题,我想不出可能的解决办法,就在这里。 每当用户滚动 RecycleView 时,屏幕上显示的下一个项目就会乱序显示,就好
我正在尝试创建一个简单的考勤应用程序。 程序启动时,所有标签都在取消选择列表中 预期行为:选择任何标签时,数据将移动到所选列表,现在所选标签位于连接列表的末尾。然后 RecycleView 刷新以显示
我通过 Web 服务从服务器获取数据并在回收 View 中显示。每个请求我从服务器获取 5 个项目。我调试我的代码并检查当我滚动到 recycleview 的末尾时,新数据正在从服务器获取,但它没有添
更新: 实际问题出在 CoordinatorLayout 而不是 RecycleView。 我没有使用 RecycleView,而是在 ScrollView 中尝试了 TextView,这是同样的问题
我有一个带有 CardView 的 Recycleview,我为此实现了一个滑动 handle 选项。当用户向右滑动卡片时需要删除。问题是 Action 非常敏感——当你点击或稍微拖动卡片时,它就会执
我在 LinearLayout 中创建了一个 RecycleView 组件以及其他一些组件。问题是每当我单击 RecycleView 组件中的元素时,它应该在控制台中创建一个 TAG,但事实并非如此。
我正在尝试实现类似于上图的布局将 RecyclerView 与 GridLayoutManager 结合使用,我尝试根据位置设置 setSpanSizeLookup,但无法模仿上面的设计。 有人可以帮
问题来了:我创建了世界上最简单的 RecyclerView,但它只显示第一项。我不明白为什么。感谢您的帮助。 item_layout.xml activity_main.xml
这是我的回收 View 适配器 CategoryAdapter类 public class CategoryRAdapter extends RecyclerView.Adapter { privat
摘要 我在 RecycleView 中有一个 CardView,带有一个播放或停止歌曲的按钮,并且一次只能播放一首歌曲。因此,当我单击其中一个按钮时,所有其他按钮都应该有一个“播放”图标,而单击的按钮
我正在创建一个应用程序,我想在其中使用改造调用 API。并在回收查看器中显示对象。当我尝试使用调用 API 并将对象放入回收查看器的方法时出现错误。 下面是寻呼机适配器的代码。 public clas
我有一个使用 ViewPager 的三选项卡界面设置。在第三个选项卡中,我有一个 CardView,它可以展开/缩回 onclick 以显示更多信息。 CardView 内部是一个 RecyclerV
我正在尝试突出显示一个列表,例如当用户单击一行时,它的背景颜色会发生变化。该应用程序运行良好,但是当我上下滚动列表时,突出显示一行时,其他行也会突然突出显示。以下是显示此行为的测试应用(代码基于 ht
我使用水平 RecyclerView,我的列表项之间的边距是恒定的,我想增加列表项间距,我尝试增加 layout_margin 但没有变化. 下面是我的列表项布局
我是一名优秀的程序员,十分优秀!