关于adapter.notifyDataSetChanged()、layout_below与layout_alignBottom的区别、==与.equals区别等问题

1.使用adapter.notifyDataSetChanged()之前,要把Adapter中绑定的List.remove掉;

public boolean onContextItemSelected(MenuItem item) {
        AdapterView.AdapterContextMenuInfo itemInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
        Object itemValue = myAdapter.getItemId(itemInfo.position);
        int i = Integer.parseInt(itemValue.toString());
        String itemTitle = newsBeanList.get(i).title;
        String itemTime = newsBeanList.get(i).time;
        String itemImageUrl = newsBeanList.get(i).imageURL;
        String itemContentUrl = newsBeanList.get(i).contentURL;
        switch (item.getItemId()){
            // 删除item,同时删除数据库
            case 0:
                db.delete("News","news_title = ?",new String[]{itemTitle});
                newsBeanList.remove(i);
                myAdapter.notifyDataSetChanged();
                break;
            // 加“收藏”中的内容加入“离线”
            case 1:
                ContentValues values3 = new ContentValues();
                values3.put("news_title", itemTitle);
                values3.put("news_time",itemTime);
                values3.put("news_imageUrl",itemImageUrl);
                values3.put("news_contentUrl",itemContentUrl);
                db.insert("NewsCache",null,values3);
                break;
            default:
                break;
        }
        return super.onContextItemSelected(item);
}

 

2.layout_below与layout_alignBottom的区别

android:layout_below="@+id/first" //在某元素的的下方;  

android:layout_alignBottom="@+id/first"//本元素的下边缘和某元素的的下边缘对齐;  

3.==.equals区别

 

4.Integer i = new Integer(xxx)Integer i =xxx;这两种方式的区别。

当然,这个题目属于比较宽泛类型的。但是要点一定要答上,我总结一下主要有以下这两点区别:

1)第一种方式不会触发自动装箱的过程;而第二种方式会触发;

2)在执行效率和资源占用上的区别。第二种方式的执行效率和资源占用在一般性情况下要优于第一种情况(注意这并不是绝对的)。

 

5.当 “==” 运算符的两个操作数都是 包装器类型的引用,则是比较指向的是否是同一个对象,而如果其中有一个操作数是表达式(即包含算术运算)则比较的是数值(即会触发自动拆箱的过程)。另外,对于包装器类型,equals方法并不会进行类型转换。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值