Android错误集锦

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值