Android 报错

1.进入activity防止自动弹出输入法和顶上底部导航栏

在清单文件Androidmainfest.xml文件中activity增加属性android:windowSoftInputMode=“adjustPan”,就可以了

<activity   android:name=".MainActivity"
            android:windowSoftInputMode="adjustPan"
            />

2.Error:Execution failed for task ‘:app:compileDebugJavaWithJavac’ 解决方案

在这里插入图片描述
gradlew compileDebugJavaWithJavac 然后点击enter 会提示你错误

3.Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’.

Conflict with dependency ‘com.android.support:support-annotations’ in project ‘:app’. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

这个错误大概的意思是sdk的问题,具体我也没深究。网上说的加
在app下的build.gradle文件中的dependences {}中添加如下代码:

androidTestCompile('com.android.support:support-annotations:26.1.0') {
    force = true
}

如果没有解决问题,
那就把app下的build.gradle文件中
把下面的3行干掉
在这里插入图片描述
ok成功了,如果你用ConstraintLayout进行拖拽布局的话,就不能这样。

再说一下ConstraintLayout的优点

1.在开发层级较少的功能型app时用传统的五大布局应该就可以了。这样控件的属性也是简洁明了
2.在开发层级较多的娱乐型app时可以用ConstraintLayout进行布局,这样可以减少布局层级,提高性能。它更多的类似于相对布局。

4.Service not registered

直接加

private boolean isBind = false;
isBind = bindService(svcMgrIntent, this, Context.BIND_AUTO_CREATE);
if (isBind) {
           unbindService(this);
            isBind =false;
        }

5.Warning:Ignoring InnerClasses attribute for an anonymous inner class

在工程的混淆配置文件 proguard-rules.pro 中加入下面这句代码即可:

-keepattributes EnclosingMethod

6.Landroid/support/v4/animation/AnimatorCompatHelper;

类找不到原因

在support包26的时候这个类没有了。在 support包25跟24都有。网上有如下代码解决(不建议)
在你的build.gradle(app module)文件下添加:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '24.1.0'
            }
        }
    }
}

原理应该是将support 包改为 24.1.0 由于项目需要26的一些类,不能改低版本,就可以复制低版本类。

7.java.lang.IllegalStateException: View can not be anchored to the the parent CoordinatorLayout

这个是关于锚定的报错
app:layout_anchor="@id/content_layout"
在compile 'com.android.support:design:23.2.0’之后
就不能在自己的父布局引用父布局
正确的如下,可以用帧布局替代。

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/content_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <FrameLayout
        android:id="@+id/attachment_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="@dimen/fab_margin_end"
        android:layout_marginTop="@dimen/fab_margin_top"
        android:scaleType="center"
        android:src="@drawable/ic_action_save"
        app:borderWidth="0dp"
        app:elevation="@dimen/fab_elevation"
        app:layout_anchor="@id/attachment_layout"
        app:layout_anchorGravity="top|end"
        app:rippleColor="@color/accent_highlight" />
</android.support.design.widget.CoordinatorLayout>

8.java中"".equals(A)与A.equals("")一样不?

不一样
如果a为null
a = null;
a.equals("")出错nullPointerException
如果写为"".equals(a)–>就可以防止nullPointerException啦

9.Android输入框直接弹出数字输入法

情况一:数字框
直接et中添加android:inputType=“number”

情况二:密码框只能输入数字
bind et

//上代码
et_password.setInputType(InputType.TYPE_CLASS_NUMBER);
et_password.setTransformationMethod(PasswordTransformationMethod.getInstance());

情况三:
仿支付宝支付密码
需自定义

情况四:
设置android:digits属性,允许输入数字和字母。
设置android:inputType为"number",将键盘切换为数字键盘。
代码效果

//配置EditText
<EditText
    ......
    android:digits="@string/alphabet_and_number"
    android:inputType="number" />
    
//修改string.xml
<resources>
    <string name="alphabet_and_number">abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</string>
</resources>

这个会持续更的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值