Android小问题汇总

时间:2021-01-16 17:35:05

1.百度地图无法运行

百度官方下载的demo直接导入eclipse中无法运行或在logcat日志中报:
java.lang.NoClassDefFoundError: com.baidu.mapapi.BMap Manager的解决方法:

(1)右击项目->properties->java build path->Order and Export , 在需要引用的包前面打勾,并改变引用jar的order; 

(2)Project -> clean..该工程 

(3)重新启动工程即可正常运行。


2.bin目录下没有生成apk文件的解决方法:
Bin目录下未生成apk文件

(1)在eclipse下选择window->preferences->Android->Build->把Skip packaging and dexing until export or launch前的勾去掉。

(2)点击project->clean..,bin目录下即可生成apk文件 

(3)若是刚clean完工程,需要运行一遍才能生成apk文件


3.getStringSet()方法报错
getStringSet(String key, Set defValues)是android3.0(API11)版本推出的,故3.0版本以下使用该api会报noSuchMethodError异常
SharePreference中getStringSet(String key, Set defValues)报noSuchMethodError异常原因:


4.android 4.4以上版本 webview不能放在非ui线程中执行方法 


5.打包签名apk时报Conversion to Dalvik format failed with error 1错误

Android小问题汇总

(1)产生原因:AndroidManifest.xml文件中的targetSdkVersion与project.properties中的target不对应

(2)解决方法:改为相同版本号,clean工程


6.获取listview某一个item中的view

mLv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view, final int position, long id) {
ImageView i = (ImageView)parent.findViewById(R.id.clear);
}
});


7.相对布局中引用未出现的布局

   Android小问题汇总

8.View中ScrollBy(int,int)和ScrollTo的区别

scrollBy里其实是调用scrollTo的方法,只是在当前的x、y轴坐标的基础上叠加上需要移动的x、y距离,

所以差别就是scrollBy是当前的位置增加移动距离,而scrollTo是直接根据传入的x、y值计算位置。


9.View的事件派发顺序

ViewGroup的dispatchTouchEvent -> ViewGroup的onInterceptTouchEvent -> View的dispatchTouchEvent -> View的onTouchEventListener (View的onTouchEvent )

消费事件返回true,不消费事件返回false,默认不消费事件,返回false