【Android】 今日问题记录2015/11/9

1.Android Studio内存分配

2.使用RecyclerView,item insert动画问题
首先是从另一个activity返回有RV的Activity,如果直接在resume里执行notifyItemInsert是看不到动画效果的,需要延迟执行,用handler ,postDelay或者线程delay都可以
另一个存在的问题是,如果直接list.add,adapter.notify,也看不到想要的item被添加到RV的头部,需要先将RV滚动至position= 0的位置,代码如下:


mRecyclerView.scrollToPosition(0);
meList.add(0, localMEs.get(localMEs.size() - 1));
mAdapter.notifyItemInserted(0);

方法2:

如果这里使用notifyDataSetChanged()来刷新屏幕上显示的所有item可以吗?结果不会出错,但是会有一个问题,前面调用了notifyItemInserted()方法后会在执行动画,如果你调用notifyDataSetChanged()刷新屏幕上显示的所有item的话,必然也会刷新当前正在执行动画的那个item,这样导致的结果是,前面的动画还没执行完,它马上又被刷新了,动画就看不见了。所以只要刷新2以后的item就可以了。

1 Person person = new Person(i, "WangJie_" + i, 10 + i);
2 adapter.notifyItemInserted(2);
3 personList.add(2, person);
4 adapter.notifyItemRangeChanged(2, adapter.getItemCount());

3.判断RecyclerView是否滚动到最后一条:
外链
关键代码:

mRecyclerView.getLayoutManager().getPosition(lastChild)
                                == mRecyclerView.getLayoutManager().getItemCount() - 1

4.通知RecyclerView添加了数据:

   // param1:start postion
   // param2:count
   mAdapter.notifyItemRangeInserted(sp, count);

5.split 正则表达式

String对象的split方法里面采用了Pattern的split方法实现,所以,正则表达式中的某些符号需要正则转义才能得到正确的分割结果。

String[] aa = "aaa|bbb|ccc".split("|"); 
 //String[] aa = "aaa|bbb|ccc".split("\\|"); 这样才能得到正确的结果 
 for (int i = 0 ; i <aa.length ; i++ ) { 
 System.out.println("--"+aa); 
 } 

6.Google java风格指南
7.cardView 使用示例:
外链
CardView继承自FrameLayout,可以方便地设置圆角,阴影,ui要求不那么高时可以用一用

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    ... >
    <!-- A CardView that contains a TextView -->
    <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_gravity="center"
        android:layout_width="200dp"
        android:layout_height="200dp"
        card_view:cardCornerRadius="4dp">

        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </android.support.v7.widget.CardView>
</LinearLayout>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值