user565460
user565460

Reputation: 25

ANDROID: Fatal Exception: XML file

Everytime I try to run my application on an emulator, after the splash screen (splash.xml), which leads to my second screen (advert.xml), I get a fatal exception in the LogCat. The app running on the emulator also crashes (unexpectedly). I thought the fatal exception would be the second screen, but instead it says it's my third screen. Here's the log:

01-08 23:03:35.093: D/AndroidRuntime(287): Shutting down VM
01-08 23:03:35.093: W/dalvikvm(287): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
01-08 23:03:35.163: E/AndroidRuntime(287): FATAL EXCEPTION: main
01-08 23:03:35.163: E/AndroidRuntime(287): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.revagar.android.niles/com.revagar.android.niles.Advert}: java.lang.NullPointerException
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.os.Looper.loop(Looper.java:123)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.ActivityThread.main(ActivityThread.java:4627)
01-08 23:03:35.163: E/AndroidRuntime(287):  at java.lang.reflect.Method.invokeNative(Native Method)
01-08 23:03:35.163: E/AndroidRuntime(287):  at java.lang.reflect.Method.invoke(Method.java:521)
01-08 23:03:35.163: E/AndroidRuntime(287):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-08 23:03:35.163: E/AndroidRuntime(287):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-08 23:03:35.163: E/AndroidRuntime(287):  at dalvik.system.NativeStart.main(Native Method)
01-08 23:03:35.163: E/AndroidRuntime(287): Caused by: java.lang.NullPointerException
01-08 23:03:35.163: E/AndroidRuntime(287):  at com.revagar.android.niles.Advert.onCreate(Advert.java:18)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-08 23:03:35.163: E/AndroidRuntime(287):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-08 23:03:35.163: E/AndroidRuntime(287):  ... 11 more
01-08 23:03:38.663: I/Process(287): Sending signal. PID: 287 SIG: 9

Main, the fatal exception, is my third screen. I had been messing around with it, but there weren't any problems earlier. Here's the xml main:

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


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Welcome to the Club Finder"
    android:textSize="28dp" 
    android:layout_gravity="center"
    android:textColor="#bc0d0d"
    android.id="@+id/tvDisplay"
    android:textStyle="bold"
    android:layout_marginTop="20dp"
    android:gravity="center"
    />

<Button 
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Search by Club Name"
    android:textSize="18dp" 
    android.id="@+id/bSbN"
    android:background="@drawable/button1"
    android:textColor="#bc0d0d" 
    android:layout_marginTop="70dp"
    />  

<Button 
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="Search by Location"
    android:textSize="18dp" 
    android.id="@+id/bSbL"
    android:background="@drawable/button1"
    android:textColor="#bc0d0d"
    android:layout_marginTop="60dp"
    />  

I was actually testing out a button I had just created. The button is on the second screen, is supposed to take the user to the third screen when clicked. Here's the java code for the second screen, which includes the button:

package com.lol.android.cop;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Advert extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.advert);

    Button bSkipty = (Button) findViewById(R.id.bSKIP);
    bSkipty.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent ("com.lol.android.cop.MAINACTIVITY"));

        }
    });

}

}

If someone could help me fix this, I would be eternally grateful.

EDIT: Here's the code for advert.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="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/advert">


<Button
    android:layout_width="68dp"
    android:layout_height="38dp"
    android:layout_gravity="right"
    android:text="Skip"
    android.id="@+id/bSKIP"
    android:background="@drawable/button1"
    android:textColor="#FFFFFF"
    android:layout_marginTop="2dp"
   />


<Button
    android:layout_width="68dp"
    android:layout_height="38dp"
    android:layout_gravity="right"
    android:text="Apply"
    android.id="@+id/bAPPLY"
    android:background="@drawable/button1"
    android:textColor="#FFFFFF"
    android:layout_marginTop="4dp"
    />

</LinearLayout>

Upvotes: 0

Views: 196

Answers (1)

tidbeck
tidbeck

Reputation: 2388

You should replace . with : in your xml here:

android.id="@+id/bSKIP"

and here:

android.id="@+id/bAPPLY"

Upvotes: 2

Related Questions