美文网首页日常代码记录
RecyclerView setHasFixedSize(tru

RecyclerView setHasFixedSize(tru

作者: jiongge | 来源:发表于2017-07-07 20:02 被阅读179次

    setHasFixedSize(true)

    RecyclerView的尺寸在每次改变时,比如你加任何些东西。setHasFixedSize 的作用就是确保尺寸是通过用户输入从而确保RecyclerView的尺寸是一个常数。RecyclerView 的Item宽或者高不会变。每一个Item添加或者删除都不会变。如果你没有设置setHasFixedSized没有设置的代价将会是非常昂贵的。因为RecyclerView会需要而外计算每个item的size。

    UnsupportedOperationException 解决方案

    Exception in thread "main" java.lang.UnsupportedOperationException  
        at java.util.AbstractList.remove(AbstractList.java:144)  
        at java.util.AbstractList$Itr.remove(AbstractList.java:360)  
        at java.util.AbstractCollection.remove(AbstractCollection.java:252)  
        at com.test.test01.Test.main(Test.java:27)  
    

    如下代码报上述错误(按我的理解应该是创建的数组本身是固定的个数的,所以不给直接操作remove):

    String testStr = "1,3,0,5,6";  
    List<String> test = Arrays.asList(testStr.split(","));  
    test.remove("1");  
    

    解决方法:

    String testStr = "1,3,0,5,6";  
    List<String> test = new ArrayList<String>();  
    for(String t : testStr.split(",")){  
            test.add(t);  
    }  
    test.remove("1");  
    

    链接:上述报错比较有道理的说明

    相关文章

      网友评论

        本文标题:RecyclerView setHasFixedSize(tru

        本文链接:https://www.haomeiwen.com/subject/rpyrhxtx.html