并提前感谢您的帮助。我试图将ArrayList放入RecyclerView,但我得到了这个错误:
Clog_eOutOfMemoryError:未能分配7224906字节分配4194304可用字节和4MB直到OOM在riter.java:625AbstractStringBcom.android.internal.util.缓冲区(AbstractStringBriter.append)riter.java:658AbstractStringBjava.io.0(AbstractStringBriter.append)在riter.java:691StringBjava.io.(StringBriter.append)在riter.java:31StringWjava.lang.(StringWhrowable.print)在com.android.internal.util.FastPrintWriter.flush锁定(FastPrintWriter.java:358)在com.android.internal.util.FastPrintWriter.append锁定(FastPrintWriter.java:303)在com.android.internal.util.FastPrintWjava.lang.(FastPrintWjava.lang.)uilder.enlargeFastPrintWuilder.java:95(FastPrintWjava.lang.)在uilder.appendPrintWuilder.java:125(PrintWjava.lang.)在uffer.appendPrintWuffer.java:278(PrintWjava.io.)在riter.writeTriter.java:123StackTrace(Throwable. java: 324)在android. util. Logo. getStackTrace
我的代码(有问题的部分)是这样的:
public class TabFragment5 extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
RecyclerView rv = (RecyclerView) inflater.inflate(
R.layout.fragment_pat_list, container, false);
setupRecyclerView(rv);
return rv;
}
private void setupRecyclerView(RecyclerView recyclerView) {
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
recyclerView.setAdapter(new SimpleStringRecyclerViewAdapter(getActivity(),
getList(Infos.sPatGrandi)));
}
private ArrayList<String> getList(String[] array) {
ArrayList<String>list = new ArrayList<String>getList(Infos.sPatGrandi));
while (list.size()<40){
list.addAll(getList(Infos.sPatGrandi));
}
return list;
}
我只有在这部分代码中才会出现这个错误,有人能解释原因吗?非常感谢,祝你玩得愉快!
在方法getList中有一个递归调用,由于这个递归调用,分配了很多对象。这将生成您的OutOfMemoryException。
编辑示例:
List<String> listOfData = new ArrayList<>();
SimpleStringRecyclerViewAdapter adapter = new SimpleStringRecyclerView(context, listOfData);
recyclerView.setAdapter(adapter);
//Now add more content to the list
listOfData.add("new item");
listOfData.add("another item");
//This notifies the adapter and the list that the content has changed
adapter.notifyDataSetChanged();
问题内容: 我一直在尝试使用此处的少量指导,使用RecyclerView实现CollapsingToolbar:http : //android-developers.blogspot.co.uk/2015/05/android-design-support- library.html 和项目此处:https : //github.com/chrisbanes/cheesesquare,我目前具有
现在我的问题是,如何在自定义的而不是自定义的中重写方法?我没有在这里公布我的代码,因为它与链接的代码本质上是相同的,只是我需要为子创建一个自定义的来代替,这样它就可以按照“pptang”的答案所述进行正确的度量。 否则,有没有比在第二个RecyclerView中使用1个RecyclerView更好的方法?只能有1个RecyclerView使用上述列表和每个中唯一项的网格填充活动/片段吗?
我读了这篇关于RecyclerViews和游标适配器的文章,我正在尝试使用第一种解决方案。我对OnViewHolder函数的实现感到困惑。我知道OnViewHolder可以由(ViewHolder,int)或(ViewHolder,Cursor)调用,但我不知道如何在我的项目中使用它。 我的带有RecyclerView的新适配器。OnBindViewHolder未完成,因为我不知道它是如何设置的。
问题内容: 我正在阅读Drools Planner示例,并且遇到了很多这样的代码: 据我所知,它应该初始化一个长度为n的列表,该列表存储数据类型。 但是,在表达式的两侧具有 不同的集合数据类型 该怎么办? 如果类型与匹配 ,则与执行操作有何不同: 问题答案: 是一个接口。您无法创建接口实例。 是实现List的类,您可以创建一个。 接口仅定义行为。一个实现和接口实现该行为的类。 您将注意到,如果您查
当我用SnapHelper将一个照片库实现为RecyclerView时,我有一个案例。有些照片(全屏宽度的照片)是“粘”在一起的。我想添加一些装饰,所以它在项目之间的空白,但只有当一个开始嘲笑否则我想要一张照片采取整个宽度。我试过: 在创建自定义装饰时,我设法将我的装饰画出屏幕,这样它就只显示在滚动上,但是当重写时,它是不可见的--隐藏在下一张照片下,而当我重写时,下一张照片的边缘在Divider
我正尝试使用实现的适配器,如下所示,正如这里的解决方案之一所建议的。