Java 如何修复Androidx中导致堆栈跟踪和空白布局预览中出现空指针异常的渲染问题?
我正在为我的大学研究项目开发一个应用程序,突然我的版面预览变成了空白。不久之前,我接到通知,我忽略了一个更新。现在每个布局上都有一个java.lang.NullPointerException的渲染问题,除了一些 我曾尝试将我的应用程序级应用程序兼容性依赖项更新为最新的alpha1,或将基本根目录添加到我的应用程序主题,但没有任何效果 请帮帮我,这让我很紧张。以下是错误:Java 如何修复Androidx中导致堆栈跟踪和空白布局预览中出现空指针异常的渲染问题?,java,android-studio,nullpointerexception,Java,Android Studio,Nullpointerexception,我正在为我的大学研究项目开发一个应用程序,突然我的版面预览变成了空白。不久之前,我接到通知,我忽略了一个更新。现在每个布局上都有一个java.lang.NullPointerException的渲染问题,除了一些 我曾尝试将我的应用程序级应用程序兼容性依赖项更新为最新的alpha1,或将基本根目录添加到我的应用程序主题,但没有任何效果 请帮帮我,这让我很紧张。以下是错误: java.lang.NullPointerException at com.android.ninepatch.Gr
java.lang.NullPointerException
at com.android.ninepatch.GraphicsUtilities.toCompatibleImage(GraphicsUtilities.java:50)
at com.android.ninepatch.GraphicsUtilities.loadCompatibleImage(GraphicsUtilities.java:38)
at com.android.ninepatch.NinePatch.load(NinePatch.java:97)
at com.android.layoutlib.bridge.impl.ResourceHelper.getNinePatchDrawable(ResourceHelper.java:457)
at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:332)
at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:673)
at android.view.View.<init>(View.java:5269)
at android.widget.TextView.<init>(TextView.java:974)
at android.widget.Button.<init>(Button.java:166)
at android.widget.Button.<init>(Button.java:141)
at androidx.appcompat.widget.AppCompatButton.<init>(AppCompatButton.java:74)
at androidx.appcompat.widget.AppCompatButton.<init>(AppCompatButton.java:69)
at androidx.appcompat.app.AppCompatViewInflater.createButton(AppCompatViewInflater.java:204)
at androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:123)
at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at android.view.BridgeInflater.lambda$createViewFromCustomInflater$0(BridgeInflater.java:259)
at android.view.BridgeInflater.createViewFromCustomInflater(BridgeInflater.java:285)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:122)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:930)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:950)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1004)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:309)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1123)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1097)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1126)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1097)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1126)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1097)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
at android.view.LayoutInflater.inflate(LayoutInflater.java:501)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:328)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:396)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:209)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:608)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$6(RenderTask.java:734)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
我找不到错误,请帮忙
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
tools:context=".CampaignsManagement">
<LinearLayout
android:id="@+id/linearHead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
android:orientation="vertical"
android:padding="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView16"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CAMPAIGN MANAGER"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout7"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingTop="30dp"
android:paddingRight="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearHead">
<TextView
android:id="@+id/textView26"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="Select Election:"
android:textColor="#000000"
android:textStyle="bold" />
<Spinner
android:id="@+id/spinnerElection"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/loading" />
<TextView
android:id="@+id/textView17"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="Select Campiagn Type:"
android:textColor="#000000"
android:textStyle="bold" />
<Spinner
android:id="@+id/spinnerCampaignType"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/campaignType" />
<TextView
android:id="@+id/textView22"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="Select Campaign Province:"
android:textColor="#000000"
android:textStyle="bold" />
<Spinner
android:id="@+id/spinnerProvince"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/provinces" />
<TextView
android:id="@+id/textView23"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="Select Provincial District:"
android:textColor="#000000"
android:textStyle="bold" />
<Spinner
android:id="@+id/spinnerDistrict"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textView24"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="Enter District Region and Ward:"
android:textColor="#000000"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText
android:id="@+id/editTextRegion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="Enter Region Name"
android:inputType="text" />
<EditText
android:id="@+id/editTextWard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:ems="10"
android:hint="Ward"
android:inputType="number"
android:maxLength="3" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:padding="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout7">
<TextView
android:id="@+id/textView27"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#4CAF50"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="Campaign Action Buttons"
android:textAlignment="center"
android:textColor="#FDFDFD"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="20dp">
<Button
android:id="@+id/buttonSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/common_google_signin_btn_icon_light_normal_background"
android:text="@android:string/search_go"
android:textColor="#FF5722" />
<Button
android:id="@+id/buttonCreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/common_google_signin_btn_icon_light_normal_background"
android:text="CREATE"
android:textColor="#4CAF50" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/textView28"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Need Help? ... Click Here."
android:textAlignment="center"
android:textColor="#000000"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationViewLoading"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#FFFFFF"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/lottie_loading_simple" />
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
tools:context=".ConsoleSelection">
<TextView
android:id="@+id/textViewHead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SELECT CONSOLE"
android:textColor="#000000"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/linearLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textViewLogout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Logout"
android:textColor="@color/colorAccent"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/linearLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.8"
app:layout_constraintStart_toEndOf="@+id/textViewHead"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/divider3"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorAccent"
app:layout_constraintBottom_toTopOf="@+id/linearLayout"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewHead" />
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="30dp"
android:paddingRight="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.19999999">
<LinearLayout
android:id="@+id/linearMenuItemVoterReg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationViewVoterReg"
android:layout_width="150dp"
android:layout_height="180dp"
android:background="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/lottie_register_to_vote" />
<TextView
android:id="@+id/textView18"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="VOTER REGISTRATION"
android:textAlignment="viewStart"
android:textColor="#000000"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMenuZecAdmin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationViewZecAdmin"
android:layout_width="150dp"
android:layout_height="180dp"
android:background="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/lottie_zec_admin" />
<TextView
android:id="@+id/textView19"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ZEC ADMIN CONSOLE"
android:textAlignment="viewEnd"
android:textColor="#000000"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="30dp"
android:paddingRight="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout"
app:layout_constraintVertical_bias="0.19999999">
<LinearLayout
android:id="@+id/linearMenuItemVotingPoll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationViewVotingPoll"
android:layout_width="150dp"
android:layout_height="180dp"
android:background="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/lottie_vote" />
<TextView
android:id="@+id/textView20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="VOTING POLL SETUP"
android:textAlignment="viewStart"
android:textColor="#000000"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearMenuReults"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/animationViewResults"
android:layout_width="150dp"
android:layout_height="180dp"
android:background="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:lottie_autoPlay="true"
app:lottie_loop="true"
app:lottie_rawRes="@raw/lottie_results" />
<TextView
android:id="@+id/textView21"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="VIEW RESULTS"
android:textAlignment="viewEnd"
android:textColor="#000000"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/imageViewAppLogo"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#FFFFFF"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/app_logo" />
<TextView
android:id="@+id/textView31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:text="From now, every action you make on this system will logged and recorded. Any attempt to misuse the system is punishable by State."
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout2" />
</androidx.constraintlayout.widget.ConstraintLayout>
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.sekaistudios.zimvote"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.core:core:1.4.0-alpha01'
implementation 'androidx.appcompat:appcompat:1.3.0-alpha01'
implementation 'com.google.firebase:firebase-analytics:17.4.2'
implementation 'com.google.firebase:firebase-auth:19.3.1'
implementation 'com.google.firebase:firebase-database:19.3.0'
implementation 'com.google.firebase:firebase-storage:19.1.1'
implementation 'com.airbnb.android:lottie:3.4.0'
implementation 'androidx.biometric:biometric:1.0.1'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}