您的位置 首页 资料

Android常见过错汇总

1.R.java消失或解析异常查看res中资源文件,图片,xml等。比如图片文件名不能有大写不能有空格。搞定错误之后Project->clean就可以了。2.自定义title栏。

1.R.java消失或解析反常

检查res中资源文件,图片,xml等。比方图片文件名不能有大写不能有空格。

搞定过错之后Project->clean就能够了。

2.自界说title栏。

首先要z在values->styles中界说一个style,然后在mainfest文件中设置android:theme.

最终在Activity中依照这个次序写:

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

setContentView(R.layout.activity_main);

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_layout);

3.SQLite isFirst和isBeforeFirst办法的差异:

看下面一段代码

Cursor c = queryTheCursor(type);

if(c.moveToLast())

while (!c.isBeforeFirst()) {

String tmpContent = new String();

tmpContent = c.getString(c.getColumnIndex(content));

contents.add(tmpContent);

c.moveToPrevious();

}

c.close();

代码的作用是逆序输出表中的内容,第三行假如用的是isFirst()的话就无法输出榜首行,正确做发是用isBeforeFirst()。

4.eclipse删去空行

在eclipse中删去某一行就用ctrl+D快捷键。假如你想删去一个文件中的一切空行呢。

能够用下面办法。

1)翻开源码编辑器

2)运用快捷键Ctrl+f

3)在Find输入框中输入:^\s*\n

4)Replace With输入框的值为空

5)在【Options】选中的Regular expressions

6)点击【Replace All】按钮。

7)OK!

5.getX()和getRawX()的差异

getX()是表明Widget相关于本身左上角的x坐标

而getRawX()是表明相关于屏幕左上角的x坐标值(留意:这个屏幕左上角是手机屏幕左上角,不论activity是否有titleBar或是否全屏幕),getY(),getRawY()相同的道理

6.imagView居中显现问题

xml设置如下:

android:layout_width=fill_parent

android:layout_height=wrap_content

android:layout_gravity=center

android:orientation=vertical >

android:layout_width=wrap_content

android:layout_height=wrap_content

android:id=@+id/myImageView

android:layout_gravity=center

android:scaleType=matrix

android:src=@drawable/pic >

7.synchronized引发了 java.util.ConcurrentModificationException

假如多个线程一起拜访一个 ArrayList 实例,而其间至少一个线程从结构上修正了列表,那么它有必要 坚持外部同步。

解决办法:初始化的时分 将ArrayList改为CopyOnWriteArrayList;

原理:

JAVA中将引证从一个目标移到别的一个目标不需要耗费CPU时刻,能够看做是一个原子操作。

JAVA中假如一个目标依旧存在引证,则不会被CG收回。

CopyOnWriteArrayList便是依据以上两个特色,在列表有更新时直接将原有的列表仿制一份,并再新的列表上进行更新操作,完结后再将引证 移到新的列表上。旧列表假如仍在运用中(比方遍历)则持续有用。如此一来就不会呈现修正了正在运用的目标的状况(读和写别离产生在两个目标上),一起读操 作也不必等候写操作的完结,免去了锁的运用加快了读取速度。

8.获取随机色彩

并不必每次都生成三个随机数,下面两条句子就能够了:

Random myRandom=new Random();

int ranColor = 0xff000000 | mRandom.nextInt(0x00ffffff);

10.去掉Activity的标题栏,全屏显现

在manifest文件中修正对应的Avtivity特点。

android:theme=@android:style/Theme.NoTitleBar.Fullscreen

11.怎么修正使用称号及使用图标

修正程序的图标,修正drawable文件夹的i→→c_launcher.png图标,把新的图标改名掩盖就能够了。

假如你要自己的称号,能够修正AndroidManifest.xml的这个节点,application android:icon=@drawable/ic_launcher,不需要加文件扩展名。

即便这么做了,真机调试的时分或许仍是会有一些问题,比方图标没办法改动,这个时分就需要在Eclipse中新建一个不同名的项目,然后搬运代码(有点小麻烦~_~!)。

12.关于调试办法

调试的时分程序假如犯错,一般是检查logcat,看error产生的当地,会提示在程序的第几行,然后去找就能够了。

但有些过错没办法定位,那就把日志输出成txt,然后去google,baidu吧。

13.Couldn’t read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.

过错1:恳求的字段在数据库的表中不存在,一般是大小写没写对;

过错2:编程的半途改动表的字段,实践字段并没有改动,解决办法是卸载当时版别,再装置调试。

14.android.content.res.Resources.loadXmlResourceParser

在传递string类做参数的当地传了int形变量。

15.android.content.res.Resources$NotFoundException

呈现此类反常时,能够依据 Resource ID到资源类R中找相关的资源。比方0x7f030000,对应的是city_item布局文件,就能够将问题缩小到更小的规模。关于这类运行时找不到资 源,但资源又的确存在的问题,或许的编译打包时呈现问题,没有将该资源参加。可修正一下该资源,让编译器从头编译。

还有试一下Project ->Clean一下这个项目 也能够的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/297682.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部