我有方法:
private void initImageBitmaps() {
mImageUrls.add("imageUrl");
mNames.add("abcd");
initRecyclerView();
}
private void initRecyclerView() {
Log.d(TAG, "initRecyclerView: init recyclerview.");
RecyclerView recyclerView = findViewById(R.id.recyclerv_view);
RecyclerViewAdapter adapter = new RecyclerViewAdapter(this, mNames, mImageUrls);
recyclerView.setAdapter(adapter);
//recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
}
将图像添加到我的recyclerview。如果它在活动中,我会在OnCreate中调用initImageBitmaps()。不幸的是,我必须在片段中使用它,问题是:如何将这些方法实现到扩展片段的类?当然,所有内容都将显示在RecyclerView中,并带有xml中的recycler\u视图id。
编辑:我的适配器:
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>{
private static final String TAG = "RecyclerViewAdapter";
private ArrayList<String> mImageNames = new ArrayList<>();
private ArrayList<String> mImages = new ArrayList<>();
private Context mContext;
public RecyclerViewAdapter(WallpapersFragment context, ArrayList<String> imageNames, ArrayList<String> images ) {
mImageNames = imageNames;
mImages = images;
mContext = context;
//Rquired is android.content.context and found is WallpapersFragment from my project
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_listitem, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
Log.d(TAG, "onBindViewHolder: called.");
Glide.with(mContext)
.asBitmap()
.load(mImages.get(position))
.into(holder.image);
holder.imageName.setText(mImageNames.get(position));
holder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, GalleryActivity.class);
intent.putExtra("image_url", mImages.get(position));
intent.putExtra("image_name", mImageNames.get(position));
mContext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mImageNames.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
ImageView image;
TextView imageName;
RelativeLayout parentLayout;
public ViewHolder(View itemView) {
super(itemView);
image = itemView.findViewById(R.id.image);
imageName = itemView.findViewById(R.id.image_name);
parentLayout = itemView.findViewById(R.id.parent_layout);
}
}
}
它仅在注释mContext=context时编译 在适配器中。那么错误是:java。lang.NullPointerException:您不能在尚未连接的视图或getActivity()返回null的片段上启动加载(通常在连接片段之前或销毁片段之后调用getActivity()时发生)。
您可以在以下生命周期回调中初始化回收器视图:
onViewCreated()
也可以在这里填充数据方法,如
initRecyclerView()
initImageBitmaps()
对于数据刷新,可以在适配器上调用notifyDatasetChanged()。
initRecyclerView(视图);
然后:
recyclerView = view.findViewById(R.id.recyclerv_view);
片段类中有一个onCreate()方法,但该方法不同于活动的onCreate()。
public static class ExampleFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.example_fragment, container, false);
}
@Override
public void onViewCreated (View view, Bundle savedInstanceState) {
initRecyclerView();
}
}
在此处阅读有关片段的更多信息:片段
本文向大家介绍Android添加图片到ListView或者RecyclerView显示,包括了Android添加图片到ListView或者RecyclerView显示的使用技巧和注意事项,需要的朋友参考一下 先上图 点击+号就去选择图片 实际上这个添加本身就是一个ListView或者 RecyclerView 只是布局有些特殊 item 在Adpater中判断一个数据是不是为0和是不是最后一
问题内容: 我在用Firebase的数据制作片段时遇到问题。我希望应用程序在单击按钮以从一个片段更改为片段后显示,但是它确实更改了所显示的片段,但未显示任何内容。 我知道有很多这样的问题,但是我似乎找不到正确的解决方案。 我已经制作了Firebase RecyclerView所需的所有内容,并且还尝试将其构建在活动而不是片段中,并且确实可以,但是不能与片段一起使用。我试图初始化onCreateVi
问题内容: 我正在运行python脚本,但不会显示图片。 我在该程序的目录中有一个apple.jpg图像,它应该显示图片,但没有。这是代码: 我的操作系统是Ubuntu,该程序只需完成就不会显示任何错误。 问题答案: 它适用于我在Ubuntu上。它使用Imagemagick显示图像。尝试这个:
我在StackOverflow上看到了一些类似的事件。然而,这些似乎都不适用于我的情况。我遇到的问题是,我的RecyclerView正在工作,但没有显示任何内容。我已经运行了多个测试,试图找出它不工作的原因,但所有测试都支持它正常工作的事实。 getItemCount中的日志返回3,这是正确的数字。我只是不明白为什么它没有显示。我回头看了我在以前的活动中做的回收器视图,它们都在一定程度上匹配(其他
没有显示在屏幕上,只是显示白色背景。 有什么错误吗?请告诉我,谢谢。 片断 我只想显示上的项目。
简要说明:我对java或android studio不是很有经验,所以请直接回答我的noobish问题。 我正在做一个有RAL颜色片段的项目。总共只有280多张图片。我正在尝试为此片段创建一个recyclerView。为了避免这个问题比实际问题长出几英里,我删去了ralfragment中的一些颜色。 我希望颜色的布局如下所示: 我看了一些教程(没有一个是在片段中使用rv的),并试图将它们实现到我的