Android错误汇总集锦
来源:互联网 发布:手机淘宝排行榜模版 编辑:程序博客网 时间:2024/05/21 11:36
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 ,但也要保证这段代码确实执行了,我遇到这个问题的原因就是虽然在OnDestroy中unregister,但在账号切换时,没有销毁不用的页面,导致出现这个问题。
4、ImageView执行完旋转动画后,隐藏不了
4.1 问题描述
ImageView执行完旋转动画后,设置setVisibility(View.GONE)后,ImageView还是可见的。5、Js回调Android的方法中更新页面显示出现异常4.2 原因解决方法
ImageView上面的动画没有清除导致,先清楚view上的clearAnimation(),再设置visibility即可。
5.1 问题描述
Js回调Android的方法中更新页面显示时发生异常,具体异常信息如下:W/System.err(5617): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
W/System.err(5617): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6118)
W/System.err(5617): at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:848)
W/System.err(5617): at android.view.View.requestLayout(View.java:16431)
W/System.err(5617): at android.view.View.requestLayout(View.java:16431)
W/System.err(5617): at android.view.View.requestLayout(View.java:16431)
W/System.err(5617): at android.view.View.requestLayout(View.java:16431)
W/System.err(5617): at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:352)
W/System.err(5617): at android.view.View.requestLayout(View.java:16431)
W/System.err(5617): at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:352)
W/System.err(5617): at android.view.View.requestLayout(View.java:16431)
W/System.err(5617): at android.widget.TextView.checkForRelayout(TextView.java:6600)
W/System.err(5617): at android.widget.TextView.setText(TextView.java:3813)
W/System.err(5617): at android.widget.TextView.setText(TextView.java:3671)
W/System.err(5617): at android.widget.TextView.setText(TextView.java:3646)
W/System.err(5617): at com.linkage.educloud.js.app.BaseActivity.setTitle(BaseActivity.java:157)
W/System.err(5617): at com.linkage.educloud.js.activity.SubscribeActivity$InJavaScript.openFriendInf(SubscribeActivity.java:234)
W/System.err(5617): at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err(5617): at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/System.err(5617): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err(5617): at android.os.Looper.loop(Looper.java:136)
W/System.err(5617): at android.os.HandlerThread.run(HandlerThread.java:61)
5.2 原因及解决方法
log提示的意思是只能在主线程中更新UI,因为JS代码不是在主线程运程的,所以不能直接在JS的回调方法中更新Android的页面显示。知道原因了,解决方法很简单:在回调中用利用Handler将要处理的方法post到主线程中处理。
eg:
private Handler mHandler = new Handler();// JS回调类final class InJavaScript { @JavascriptInterface public void openFriendInf(final String id) {mHandler.post(new Runnable() {public void run() {//具体处理}});} }
------------------------------->>待续
- Android错误汇总集锦
- [错误集锦&套路汇总]
- Android错误集锦
- Android错误集锦了!
- Android错误集锦了!
- android 常见错误集锦
- Android调试错误集锦
- Android错误集锦!
- Android 错误集锦
- Android常见错误集锦
- Android错误集锦
- Android错误集锦!
- Android错误集锦了!
- Android 错误集锦(ing...)
- android--错误集锦
- android错误集锦
- Android 错误集锦
- Android开发错误集锦
- JSP内置对象和属性
- C/C++易错难点笔记02
- 实现带清除效果的EditText
- Neo4j入门教程_1
- Android TextView 一些字体颜色、大小设置属性
- Android错误汇总集锦
- iOS做透明引导页
- 树状数组详细分析
- 已知二叉树的先序遍历和中序遍历,如何求后序遍历
- UVA 1583 Digit Generator
- 关于对初学者ps合成工具使用的问答
- 最大似然估计学习总结
- 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方
- android TextView中文字通过SpannableString设置属性