Android错误汇总集锦

1、java.lang.IllegalArgumentException: column 'XXX' does not exist

1.1 写数据库时提示字段不存在,具体错误信息如下:

FATAL EXCEPTION: main                                                        

java.lang.IllegalArgumentException: column 'org_name' does not exist         

at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.j

at android.database.CursorWrapper.getColumnIndexOrThrow(CursorWrapper.jav

at com.linkage.educloud.ah.widget.ChatListItem.init(ChatListItem.java:119

at com.linkage.educloud.ah.fragment.NewMessageFragment$ThreadAdapter.newV

at android.widget.CursorAdapter.getView(CursorAdapter.java:246)          

at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.jav

at android.widget.AbsListView.obtainView(AbsListView.java:2425)          

at android.widget.ListView.makeAndAddView(ListView.java:1769)            

at android.widget.ListView.fillDown(ListView.java:672)                   

at android.widget.ListView.fillFromTop(ListView.java:733)                

at android.widget.ListView.layoutChildren(ListView.java:1608)            

at android.widget.AbsListView.onLayout(AbsListView.java:2260)            

at android.view.View.layout(View.java:13846)                             

at android.view.ViewGroup.layout(ViewGroup.java:4498)                    

at android.widget.FrameLayout.onLayout(FrameLayout.java:448)             

at android.view.View.layout(View.java:13846)                             

at android.view.ViewGroup.layout(ViewGroup.java:4498)                    

at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)     

at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)    

at android.widget.LinearLayout.onLayout(LinearLayout.java:1420)          

at android.view.View.layout(View.java:13846)                             

at android.view.ViewGroup.layout(ViewGroup.java:4498)                    

at android.widget.FrameLayout.onLayout(FrameLayout.java:448)             

at android.view.View.layout(View.java:13846)                                                 

·····

1.2 可能发生原因及修改方法:

1)DB中该字段不存在

      解决方法:

      a、检查数据库的创建/插入是否存在错误。

      b、数据库版本是否升级。如果是在已经安装过老版本db的机器上运行新版本DB,如果version不升级,默认是用原来的DB


2)从DB检索数据时,筛选字段的集合没有包含该字段

      解决方法:

      在筛选字段collectiong是否包含该字段即可(我的就是这个原因)


2、在Listview的子布局中添加Button后,Listview 的onItemClick事件就不响应了

2.1 解决方法

将具有点击事件控件的android:focusable属性置成false就可以了,(如这里就是按钮的控件,只要把按钮的控件的android:focusable属性置成false);这样可以既捕捉onItemClick事件(在非button区域),又可以捕捉onClick等事件


3、发送一次广播,接收端却接收到多次

3.1 原因

大部分情况是广播没有随Activity销毁unregisterReceiver,重新创建Activity时,又重新注册了一个,导致Activity绑定了多个BroadcastReceiver。

3.2 解决方法:

在activity的onDestroy 或 onPause中等地方,unregisterReceiver BroadcastReceiver。

注意,虽然在Activity的生命周期unregisterReceiver ,但也要保证这段代码确实执行了,我遇到这个问题的原因就是虽然在OnDestroyunregister,但在账号切换时,没有销毁不用的页面,导致出现这个问题。


4、ImageView执行完旋转动画后,隐藏不了

4.1 问题描述

ImageView执行完旋转动画后,设置setVisibility(View.GONE)后,ImageView还是可见的。

4.2 原因解决方法

ImageView上面的动画没有清除导致,先清楚view上的clearAnimation(),再设置visibility即可。


------------------------------->>待续


你可能感兴趣的:(android)