我尝试在设备上运行我的应用但它崩溃并停止运行。构建的应用程序可在API级别16(Android 4.1.1)上运行
我认为问题来自setContentView(R.layout.activity_main)的调用; MainActivity.java文件的方法
然后解决问题出现的地方仍然是我无法解决的问题
来自logcat的错误消息
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cyanidesystems.savestate/com.cyanidesystems.savestate.MainActivity}: android.view.InflateException: Binary XML file line #0: Error inflating class null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class null
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:286)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.cyanidesystems.savestate.MainActivity.onCreate(MainActivity.java:13)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:101)
at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1023)
at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1080)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:286)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.cyanidesystems.savestate.MainActivity.onCreate(MainActivity.java:13)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/viewColor"
tools:context="com.cyanidesystems.savestate.MainActivity">
<TextView
android:id="@+id/msg.tipAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/appAmount"
android:layout_marginTop="@dimen/vertical_hieght"
android:layout_marginLeft="@dimen/leftMargin"
android:textAllCaps="true"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/textcolor"
/>
<EditText
android:id="@+id/tipAmount"
android:layout_width="match_parent"
android:layout_height="@dimen/vertical_hieght"
android:layout_below="@id/msg.tipAmount"
android:layout_marginTop="@dimen/vertical_hieght"
android:inputType="numberDecimal"
android:layout_marginLeft="105dp"
android:layout_marginRight="105dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:ems="10"
android:text="$100"
android:gravity="center"
/>
<view
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/ViewHieght"
android:layout_marginTop="@dimen/ViewHieght"
android:layout_below="@id/tipAmount"
android:solidColor="@color/viewColor"
>
</view>
<LinearLayout
android:id="@+id/buttons"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/view1"
android:divider="?android:divider"
android:orientation="horizontal"
android:layout_marginTop="10dp"
>
<Button
android:id="@+id/percent_amaze"
android:layout_width="0dp"
android:layout_height="@dimen/vertical_hieght"
android:text="@string/percent_happy"
android:background="@color/backgrdColor"
android:layout_weight="1"
android:layout_marginTop="8dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
/>
<Button
android:id="@+id/percent_happy"
android:layout_width="0dp"
android:layout_height="@dimen/vertical_hieght"
android:text="@string/percent_happy"
android:background="@color/backgrdColor"
android:layout_weight="1"
android:layout_marginTop="8dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
/>
</LinearLayout>
<TextView
android:id="@+id/msg.totalAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttons"
android:text="@string/msg.total_Amt"
android:layout_marginTop="@dimen/vertical_hieght"
android:layout_marginLeft="@dimen/leftMargin"
android:textAllCaps="true"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="@color/textcolor"
/>
<EditText
android:id="@+id/totalAmount"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_below="@id/msg.totalAmount"
android:layout_marginTop="15dp"
android:gravity="center"
android:text="@string/total_Amt"**strong text**
/>
</RelativeLayout>
MainActivity.java文件
package com.cyanidesystems.savestate;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
build.gradle(模块应用)文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.cyanidesystems.savestate"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:0.5'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
答案 0 :(得分:1)
您正在使用的视图标记应为&#34;查看&#34; 改变这个 -
<view
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/ViewHieght"
android:layout_marginTop="@dimen/ViewHieght"
android:layout_below="@id/tipAmount"
android:solidColor="@color/viewColor"
/>
到
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/ViewHieght"
android:layout_marginTop="@dimen/ViewHieght"
android:layout_below="@id/tipAmount"
android:solidColor="@color/viewColor"
/>
答案 1 :(得分:0)
问题是<view>
。它应该是<View>
。用。替换你的代码。
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/ViewHieght"
android:layout_marginTop="@dimen/ViewHieght"
android:layout_below="@id/tipAmount"
android:solidColor="@color/viewColor"
>
</View>