问题集锦

1、viewpager

用到了ViewPager,Android5.0.1,却额外在Build Path中引入了v4jar包,并且在“Order and Export”中勾选了此jar包,编译时出现错误: [2014-09-28 23:49:30 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; [2014-09-28 23:49:30 - Shop] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; 在Build Path的Order and Export勾掉v4jar包即可。

 

 

2、tabhost,id设置的三种方式。

问题描述:在tabhost布局中,对于id仍然使用了普通的id设置方式android:id="@+id/tabhost",程序报错。此处应使用android自带的id,android:id="@android:id/tabhost"

 

android:id设置的三种方式:http://yulongsheng.blog.51cto.com/3804293/1256541

 

3、非UI线程中更新UI时产生的异常

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

解决方法:handler

 

4、类的实例化

自定义的一些类,在其他类中使用时有时会忘记实例化(如数据库DBHelper啥的),报异常,妈蛋啊,长点心。调用类的方法时,先获取其实例化对象

 

5、函数注释

写的每一个函数把注释写详细,包括返回格式,比如返回日期,其格式。

 

6、代码的梳理

一个工程,写的越多就乱起来了,建包,并归类好

 

 

7、项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved

转自:http://yl-fighting.iteye.com/blog/1409468

Error:

The import javax.servlet cannot be resolved

The import javax.servlet.http.HttpServletRequest cannot be resolved

Description:

我们经常会把别人的项目copy到自己这里进行二次开发或者参考,有的时候会发生上面的错误,

 

即eclipse项目里我们导入的项目里提示HttpServletRequest 不能引用,会伴随头疼的小红叉出现。

Accuse:

具体原因是我们工程里面web-inf/lib目录下少了相应的包:Package javax.servlet.http引起的;

通俗且确切的讲就是缺少TOMCAT_HOME\lib下的servlet-api.jar

我导入别人的项目,在别人的机器上他配置了Server,一般都是tomcat,而在拷贝的过程中Server的那些library是不会随项目一起拷贝过来的,除非别人把tomcat的library已经拷贝到WEB-INF\lib下了。

Action:

Project -> Properties -> Java Build Path -> Add Library -> Server Runtime -> next -> 选择你的Server -> Finish

 

 

8、程序出错的一些小问题

(1)主配置文件是否对相关组件进行注册

(2)是否需要相关jar包

(3)动态加载布局,并在此布局中获取控件时,调用findViewById时给出其view,如下

  //注意此处是获取动态加载的界面中的button,漏掉view会出错
  Button mBtnGoMain = (Button) view.findViewById(R.id.btn_gomain);

(4)类的实例化

(5)更改包名时,主配置文件别忘修改

(6)及时测试,早发现早解决

 

 

9、

 

 1 /**
 2      * 获取指定日期的支出列表,放入list中
 3      * @param tableName
 4      * @param theDate
 5      * @param mList
 6      */
 7     public void getDayList(String tableName, String theDate, List<ListItemBean> mList){
 8         
 9         //List<ListItemBean> mList = new ArrayList<ListItemBean>();
10         
11         SQLiteDatabase db = this.getReadableDatabase();
12         String the_sql_sel = "select * from " + tableName +
13                                 " where " + EXPENSE_TIME + " like '%" + 
14                                 theDate + "%'";
15         Cursor cursor = db.rawQuery(the_sql_sel, null);
16         
17         //ListItemBean mListItem = new ListItemBean(itemShortDate, itemLongDate, itemWeek, itemImageResId, itemCategory, itemMoeny);
18         
19         cursor.moveToFirst();
20         while (!cursor.isAfterLast()) {
21             
22             //注意把此步骤放进循环体内,否则mList中存储的均是最后一个条目,因为mListItem是类对象,指向一个内存地址
23             ListItemBean mListItem = new ListItemBean(itemShortDate,
24                     itemLongDate, itemWeek, itemImageResId, itemCategory,
25                     itemMoeny);
26             
27             //String date = cursor.getString(cursor.getColumnIndex("expense_time"));
28             String date = theDate;
29             
30             mListItem.itemLongDate = cursor.getString(cursor.getColumnIndex("expense_time"));
31             
32             //日期格式化,只显示月和日
33             mListItem.itemShortDate = dateFormat(date);
34             
35             //获取日期对应的星期几
36             mListItem.itemWeek = getWeekfromDate(date);
37             
38             //暂时的哈,稍后找几个好看的图片
39             mListItem.itemImageResId = R.drawable.ic_launcher;
40             
41             mListItem.itemCategory = cursor.getString(cursor.getColumnIndex("expense_category"));
42             mListItem.itemMoney = cursor.getFloat(cursor.getColumnIndex("expense_money"));
43             
44             
45             mList.add(mListItem);
46             
47             //System.out.println(mListItem.itemMoney);
48             
49             cursor.moveToNext();
50         }
51         
52         cursor.close();
53         
54         //return mList;
55     }

 

posted @ 2015-04-02 22:03  Crazy Zidane  阅读(336)  评论(0编辑  收藏  举报