1.Execution failed for task ‘:app:dexDebug’
在Android studio里面使用了getSupportFragmentManager(),经查询是com.android.support:support-v4发生了冲突,将libs中的v4包删了就好了
2.getview的position总是0
项目中,不论是ListView,还是GridView,自己定义的Adapter,在getView的时候,发现position总是0,从而导致只有第一行的view可以渲染出来。
经测试和查找,发现是android渲染和调用方式导致的。
ListView或者GirdView等都类似,如果高度设置不够,android在渲染的时候会去试探和探测高度,如果高度不够,则会停止渲染后面的position。
解决方法:我遇到的问题是ListView的高度设成了包裹,改成match就行了
如果麽有view的嵌套,那么顶层的View是可以设置合适的高度的
如果有View嵌套,那么嵌套层的view的高度是动态的,很难确定的。此时直接设置wrap_content不好处理,只好在运行时,设置View的高度
3.getView不执行的原因
在listView的上面有一个TextView手贱设置成了match_content,屏幕被占满了就不会调用getView方法
4.selector中得不到预期效果
系统是从上往下匹配的,如果匹配到一个item那么它就将采用这个item,而不是采用的最佳匹配的规则,所以设置缺省的状态,一定要写在最后,很多人为了保险起见,一开始就把缺省的写好,那么这样后面所有的item就都不会起作用了,还会因此找不着哪里出了问题。
5.添加图片导致位置错乱
这是因为图片背景没显示的地方也会占地方,设置图片背景为透明即可
<item name="android:background">@android:color/transparent</item>
6.错误: 无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase
在相应module的build.gradle中添加
android {
useLibrary 'org.apache.http.legacy'
7.android.view.InflateException: Binary XML file line #2: Error inflating class
selector中属性写错
8.TextView设置选中未变色:
搞混了android:state_checked和android:state_enabled:
android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。
android:state_checked 被checked了,如:一个RadioButton可以被check了。
android:state_enabled 能够接受触摸或者点击事件
9.ImageButton设置点击事件为空:
ImageButton通过传参传递过来的,然后对其设置点击监听事件,除了在构造函数里面可以,其余地方设置点击监听事件都报空指针,已经申明了变量。
待解决:TODO:
10.Could not find property ‘ANDROID_BUILD_SDK_VERSION’
今天在导入PagerSlidingTabStrip-master库的时候遇到的问题。
问题出在compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)没有定义ANDROID_BUILD_SDK_VERSION变量,可以在project Structure中添加变量。
更直接的方法把gradle.builde直接换了,跟句需求修改编译版本
apply plugin: 'android-library'
dependencies {
compile 'com.android.support:support-v4:19.0.0'
}
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
minSdkVersion 9
targetSdkVersion 23
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'
11.使用WebView加载HTML的图片超出屏幕范围
WebView当中的图片太大时,会超出屏幕,解决方法如下:
webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
12.定义一个全局的盒子BaseApplication无效
需要进行配置
在application节点添加
<application
android:name=".base.BaseApplication"
</application>