Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二进制XML文件行#7:膨胀类TextView时出错_Java_Xml_Android Layout_Layout - Fatal编程技术网

Java 二进制XML文件行#7:膨胀类TextView时出错

Java 二进制XML文件行#7:膨胀类TextView时出错,java,xml,android-layout,layout,Java,Xml,Android Layout,Layout,我正在尝试运行一个已经编写好的代码,应该可以。然而我得到了错误 我寻找类似的问题,但每个问题及其解决方案都是具体的,没有提供可用于我的问题的信息。 换句话说,Android Studio提供的异常消息适用于无休止的可能问题 导致问题的xml文件-activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" androi

我正在尝试运行一个已经编写好的代码,应该可以。然而我得到了错误

我寻找类似的问题,但每个问题及其解决方案都是具体的,没有提供可用于我的问题的信息。 换句话说,Android Studio提供的异常消息适用于无休止的可能问题

导致问题的xml文件-activity_main.xml:

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="center"
        android:text="@string/contactsTtl"
        android:textSize="@dimen/TtlTxtSize"/>
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:id="@+id/lvContacts"
        />
    </LinearLayout>
以下是异常的日志:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.jsonreading, PID: 28802
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jsonreading/com.example.jsonreading.MainActivity}: android.view.InflateException: Binary XML file line #7: Binary XML file line #7: Error inflating class TextView
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3003)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3064)
    at android.app.ActivityThread.-wrap14(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6816)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
 Caused by: android.view.InflateException: Binary XML file line #7: Binary XML file line #7: Error inflating class TextView
 Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class TextView
 Caused by: java.lang.UnsupportedOperationException: Cant convert value at index 2 to dimension: type=0x4
    at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:737)
    at android.widget.TextView.<init>(TextView.java:1451)
    at android.widget.TextView.<init>(TextView.java:1038)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:87)
    at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:83)
    at android.support.v7.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)
    at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
    at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
    at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
    at com.example.jsonreading.MainActivity.onCreate(MainActivity.java:43)
    at android.app.Activity.performCreate(Activity.java:6977)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3064)
    at android.app.ActivityThread.-wrap14(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6816)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
public class MainActivity extends AppCompatActivity {

    Context context;
    List<Contact> contactList;
    ListView lvContacts;
    ContactsAdapter adapter;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
E/AndroidRuntime:致命异常:主
进程:com.example.jsonreading,PID:28802
java.lang.RuntimeException:无法启动活动组件信息{com.example.jsonreading/com.example.jsonreading.MainActivity}:android.view.InflateException:二进制XML文件行#7:二进制XML文件行#7:膨胀类TextView时出错
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3003)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3064)
位于android.app.ActivityThread.-wrap14(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6816)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:1563)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
原因:android.view.InflateException:二进制XML文件行#7:二进制XML文件行#7:膨胀类TextView时出错
原因:android.view.InflateException:二进制XML文件行#7:膨胀类TextView时出错
原因:java.lang.UnsupportedOperationException:无法将索引2处的值转换为维度:type=0x4
位于android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:737)
位于android.widget.TextView。(TextView.java:1451)
位于android.widget.TextView。(TextView.java:1038)
位于android.support.v7.widget.AppCompatTextView。(AppCompatTextView.java:87)
位于android.support.v7.widget.AppCompatTextView。(AppCompatTextView.java:83)
在android.support.v7.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)中
位于android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)
位于android.support.v7.app.AppCompateDelegateImpl.createView(AppCompateDelegateImpl.java:1266)
位于android.support.v7.app.AppCompateDelegateImpl.onCreateView(AppCompateDelegateImpl.java:1316)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
在android.view.LayoutInflater.充气(LayoutInflater.java:525)
在android.view.LayoutInflater.充气(LayoutInflater.java:427)
在android.view.LayoutInflater.inflate(LayoutInflater.java:378)
位于android.support.v7.app.AppCompateDelegateImpl.setContentView(AppCompateDelegateImpl.java:469)
位于android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
位于com.example.jsonreading.MainActivity.onCreate(MainActivity.java:43)
位于android.app.Activity.performCreate(Activity.java:6977)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3064)
位于android.app.ActivityThread.-wrap14(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6816)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:1563)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
MainActivity.java文件(不是整个文件,而是运行和获取异常所需的文件):

public类MainActivity扩展了AppCompatActivity{
语境;
列出联系人名单;
ListView联系人;
接触式适配器;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
编辑
我的问题被认为是可能重复的问题,这是由于没有将值保存在values文件夹中的dimens.xml文件中而导致的问题。我的问题是一个无效值:我的文件中没有只写入一个数字,而是有单位

此错误可能是因为没有定义dimens variab的值在主
dimens.xml
文件夹下的
values
中定义了它,并在其他特定版本的
values
中定义了它。请确保在主
dimens.xml
中定义了它。同时确保也将它声明为正确的值。

如果您查看了在日志中记录的您发现的错误,请您将看到以下行:

Caused by: java.lang.UnsupportedOperationException: Cant convert value at index 2 to dimension: type=0x4
这是真正的错误。您首先看到的错误来自一系列错误。换句话说,这个错误发生在通货膨胀失败之后

如果我定义的维度不正确,比如说,
8
而不是
8dp

<dimen name="test_dimen">8</dimen>
8
然后我会得到这个错误:

原因:android.view.InflateException:二进制XML文件行#13:无法将索引7处的值转换为维度:type=0x4

这与您看到的非常相似。请确保您的尺寸有效:
8dp
8sp
8px
,等等。有关详细信息,请参阅
<dimen name="test_dimen">8</dimen>