小编M.B*_*aka的帖子

RecyclerView notifyItemRemoved(position) 无法正常工作

我有一个RecyclerView和它的RecyclerView.Adapter视图持有人。我正在尝试从列表中删除一个项目,onClick()在 ViewHolder 中的删除按钮上的代码如下

int position = getAdapterPosition();  
if(position > -1)
{
Place place = placeList.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, getItemCount());
}
Run Code Online (Sandbox Code Playgroud)

尽管删除视图并执行动画(列表也会受到影响),旧视图(或较低的视图)仍然存在或再次绘制。例如,如果列表以 size = 5 开头,那么我尝试删除索引 4,他删除 4,然后仍然绘制 5 个视图。

编辑

如果我删除notifyItemRangeChanged()那么它只会在我执行以下操作时才会出现该错误

1-点击删除

2-单击按钮非常快速,可将我带到新视图

3-回到我可以删除的列表

4-开始删除,错误发生。即使List大小 = 0(getItemCount 被调用为 0),仍然保留 1 个项目。

如果我只调用 NotifyDataSetChanged(),那么它会删除项目,但视图只是停留在那里!!

任何帮助或建议表示赞赏。

谢谢。

编辑完整课程链接

android android-recyclerview

7
推荐指数
3
解决办法
9176
查看次数

android multidex实现

我有这个错误.

错误:任务':myApp:createDebugMainDexClassList'的执行失败.com.android.ide.common.internal.LoggedErrorException:无法运行命令:java -Xmx1024M -cp\android-sdk\build-tools\19.1.0\lib\dx.jar com.android.multidex.ClassReferenceListBuilder myApp\build\intermediates\multi-dex\debug\componentClasses.jar myApp\build\intermediates\multi-dex\debug\allclasses.jar

错误代码:1输出:错误:无法找到或加载主类com.android.multidex.ClassReferenceListBuilder

我正在尝试使用multidex库,因为我的应用程序超过65000方法,因为我使用外部库作为链接描述,我已经在mainfest和build.gradle文件中添加了行,任何提示都将不胜感激.谢谢

几次启动后编辑我得到了这个错误.

错误:任务':myApp:dexDebug'的执行失败.com.android.ide.common.internal.LoggedErrorException:无法运行命令:\ android-sdk\build-tools\21.1.0\dx.bat --dex --no-optimize --multi-dex --main- dex-list myApp\build\intermediates\multi-dex\debug\maindexlist.txt --output myApp\build\intermediates\dex\debug --input-list = myApp\build\intermediates\tmp\dex\debug\inputList. txt ,,错误代码:3.

输出:UNEXPECTED TOP-LEVEL ERROR:java.lang.OutOfMemoryError:Java堆空间

我试图增加文件'studio64.exe.vmoptions'中的Xms1024m -Xmx1024m的大小,但它仍然没有帮助,我也尝试在设置>编译器> VM选项Xms1024m -Xmx1024m

android android-studio android-multidex

6
推荐指数
1
解决办法
4450
查看次数