关闭

Android Studio 2.2 preview 1 EditText error

标签: EditView
402人阅读 评论(0) 收藏 举报
分类:

使用Android Studio 2.2 preview 1版本时,遇到一个错误,新建一个activity时,只在布局文件中加一个EditView,运行程序就会出错;下面的内容是昨天写代码时遇到的;

05-31 16:56:39.696 9324-9324/com.example.----.phonesafe E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              Process: com.example..----..phonesafe, PID: 9324
                                                                              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example..----..phonesafe/com.example..----..phonesafe.AddressActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class EditText
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2462)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524)
                                                                                  at android.app.ActivityThread.access$800(ActivityThread.java:167)
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:111)
                                                                                  at android.os.Looper.loop(Looper.java:194)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5546)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
                                                                               Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class EditText
                                                                                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:767)
                                                                                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:810)
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:508)
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:418)
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                                                                                  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                                                                                  at com.example.zhangtao.phonesafe.AddressActivity.onCreate(AddressActivity.java:29)
                                                                                  at android.app.Activity.performCreate(Activity.java:5977)
                                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2415)
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524) 
                                                                                  at android.app.ActivityThread.access$800(ActivityThread.java:167) 
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:111) 
                                                                                  at android.os.Looper.loop(Looper.java:194) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5546) 
                                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                                  at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759) 
                                                                               Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v21/abc_edit_text_material.xml from drawable resource ID #0x7f020015
                                                                                  at android.content.res.Resources.loadDrawableForCookie(Resources.java:2717)
                                                                                  at android.content.res.Resources.loadDrawable(Resources.java:2597)
                                                                                  at android.content.res.TypedArray.getDrawable(TypedArray.java:751)
                                                                                  at android.view.View.<init>(View.java:3777)
                                                                                  at android.widget.TextView.<init>(TextView.java:656)
                                                                                  at android.widget.EditText.<init>(EditText.java:70)
                                                                                  at android.widget.EditText.<init>(EditText.java:66)
                                                                                  at android.support.v7.widget.AppCompatEditText.<init>(AppCompatEditText.java:60)
                                                                                  at android.support.v7.widget.AppCompatEditText.<init>(AppCompatEditText.java:56)
                                                                                  at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:112)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:963)
                                                                                  at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1022)
                                                                                  at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
                                                                                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:729)
                                                                                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:810) 
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:508) 
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:418) 
                                                                                  at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
                                                                                  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) 
                                                                                  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) 
                                                                                  at com.example..----..phonesafe.AddressActivity.onCreate(AddressActivity.java:29) 
                                                                                  at android.app.Activity.performCreate(Activity.java:5977) 
                                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111) 
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2415) 
                                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524) 
                                                                                  at android.app.ActivityThread.access$800(ActivityThread.java:167) 
                                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419) 
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:111) 
                                                                                  at android.os.Looper.loop(Looper.java:194) 
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5546) 
                                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                                  at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964) 
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759) 
                                                                               Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #24: <nine-patch> requires a valid 9-patch source image
                                                                                  at android.graphics.drawable.NinePatchDrawable.updateStateFromTypedArray(NinePatchDrawable.java:448)
                                                                                  at android.graphics.drawable.NinePatchDrawable.inflate(NinePatchDrawable.java:404)
                                                                                  at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1102)
                                                                                  at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:185)
                                                                                  at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1102)
                                                                                  at android.graphics.drawable.InsetDrawable.inflate(InsetDrawable.java:104)
                                                                                  at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1102)
                                                                                  at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1024)
                                                                                  at android.content.res.Resources.createFromXml(Resources.java:3028)
                                                                                at android.content.res.Resources

上面是出错的信息;
从出错的信息中可以看到,直接关联的信息是这个

   at com.example.phonesafe.AddressActivity.onCreate(AddressActivity.java:29) 

找到相关的类;
下面贴出activity源码:

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.example.phonesafe.db.dao.AddressDao;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;

public class AddressActivity extends AppCompatActivity {

    @ViewInject(R.id.et_query_num)
    private EditText queryNumEt;
    @ViewInject(R.id.btn_query)
    private Button queryBtn;
    @ViewInject(R.id.tv_show_address)
    private TextView showAddressTv;

    private Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_address);
        //设置activity的视图内容
        TextView titleBar = (TextView) findViewById(R.id.title_bar);
        titleBar.setText("手机号码归属地查询");
        //用xUtils注入
        ViewUtils.inject(this);
        queryBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String queryNum = queryNumEt.getText().toString().trim();
                String queryAdress = AddressDao.queryAddress(context, queryNum);
                if (!TextUtils.isEmpty(queryAdress)){
                    showAddressTv.setText(queryAdress);
                }
            }
        });
    }
}

根据指引
at com.example.phonesafe.AddressActivity.onCreate(AddressActivity.java:29)

找到setContentView(R.layout.activity_address);
可以看出应该在activity_address.xml文件中有问题
下面贴出该资源文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.phonesafe.AddressActivity">
    <include layout="@layout/title_bar"/>
    <EditText
        android:id="@+id/et_query_num"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="手机号码"/>
    <Button
        android:id="@+id/btn_query"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="查询"/>
    <TextView
        android:id="@+id/tv_show_address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="22sp"/>
</LinearLayout>

其中的title_bar.xml在这里:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">

    <TextView
        android:id="@+id/title_bar"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="@color/colortitle"
        android:gravity="center"
        android:text="标题栏"
        android:textSize="22sp"/>

</LinearLayout>

好吧看到上面的还是找不到哦解决问题,其实上面的没问题,有问题的是这个Android Studio 2.2 preview 1 版本有问题,与EditView冲突
下面附上我的工程的build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
//        classpath 'com.github.dcendents:android-maven-plugin:1.2'
//        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
//        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

将其中的gradle的版本从 classpath ‘com.android.tools.build:gradle:2.2.0-alpha1’ 换成这个classpath ‘com.android.tools.build:gradle:2.1.0’

更改之后project的build.gradle的内容是如下:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
//        classpath 'com.github.dcendents:android-maven-plugin:1.2'
//        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
//        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

另外附上stackoverflow 上对次问题解决的地址EditView error 解决办法

0
0
查看评论

Android Studio 2.2 Preview 2 生成的界面问题

最近安装了Android Studio 2.2 Preview 2,但碰到了两个问题,困扰了我一个多星期。 下面是模板选择Navigation Drawer Activity生成的APP,未做任何其它改动,生成后直接在安卓4.4的手机上跑,出现下图中的问题
  • do168
  • do168
  • 2016-06-16 19:25
  • 1566

android studio layout中的preview异常

Preview给出的提示:     Rendering Problems     Exception raised during rendering:      com/android/util/PropertiesMap ...
  • chjr1000
  • chjr1000
  • 2016-05-25 09:19
  • 3112

Android studio 2.2Preview4 中出现 Plugin is too old问题

Android studio Plugin is too old please update to a more recent version, or set
  • mashihao123
  • mashihao123
  • 2016-07-06 10:41
  • 943

Android Studio变黄了,2.2 Preview 4 发布

Android Studio 2.2版本解决了大量的BUG,现在除了稳定渠道外,其它渠道的图标都已经变成了黄色。关于Android Studio2.2版本更多使用技巧,请参考 《Android Studio实用指南》更新如下:Instant RunMany bug fixes, we are wor...
  • wirelessqa
  • wirelessqa
  • 2016-06-29 08:27
  • 4593

Android studio中Preview出现render problem问题

当你做layout的时候,可能有时候出现render problem 的情况。 就是预览不了,提示render problem.这是因为API版本太高只需要在下图安卓logo的位置。 就是显示有23的位置,修改API为更低的版本就好了。 就是这个位置。
  • myGFZ
  • myGFZ
  • 2016-11-07 00:00
  • 8647

Android Studio 从1.4直接升级2.2 Preview1后的错误

20号的IO大会后,我将自己的Studio 1.4升级到了2.2;因为2.0之后的版本Studio 的速度提高了很多很多倍。而刚好 最近项目不忙了 我就手贱的点击了升级。 因为版本相差过大,所以只能重新下载 在这里多说一句: 其实也可以使用插件化的升级模式,就是说不用重新下载一个Studio,而是只...
  • zy987654zy
  • zy987654zy
  • 2016-05-24 10:04
  • 5085

Android Studio的Preview的常见问题和技巧

Android Studio提供了一个强大的“Preview”工具,可以帮助您预览您的布局文件将如何在用户的设备上呈现。XML布局可能是Android开发中最常用的资源。 您的项目中每个活动至少有一个布局文件。 Android Studio的预览工具可帮助您实现这些伟大的设计,并快速迭代它们,甚至不...
  • a_long_
  • a_long_
  • 2017-02-02 02:23
  • 11433

Android Studio Preview滑来滑去、消失固定解决方案。

前几天写项目是不知道点了Preview的什么 只要一点击xml文件preview马上就滑动到右边去了,项目写完了终于解决 了 1如果preview隐藏掉了可以在view->Tool  Windows->preview中显现出来。 2如果preview滑来滑去,固定不住点击p...
  • a15804633046
  • a15804633046
  • 2016-12-29 10:18
  • 3028

Android Studio调用preview以及修改背景颜色

调用preview首先选中你的xml文件(注意一定要选中xml文件) 具体位置: view->Tool Windows->Preview, 可以显示preview窗口; ![具体图片显示效果](http://img.blog.csdn.net/20140309185354390) 修改...
  • u012416928
  • u012416928
  • 2015-04-15 16:15
  • 3432

Android - Android Studio 的 Preview窗口

Android Studio 的 Preview窗口 本文地址: http://blog.csdn.net/caroline_wendy/article/details/20855561 Android Studio的功能包含preview窗口, 可以查看布局(layout)的样式...
  • u012515223
  • u012515223
  • 2014-03-09 18:58
  • 17324
    个人资料
    • 访问:1623次
    • 积分:77
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类