2015-03-30 4 views
-3

Я создаю мобильное приложение на Eclipse Juno, в коде разных классов ошибок нет, и он будет запущен на эмуляторе. Однако, когда первый экран загружается на эмулятор, и я выбираю любую из кнопок, приложение перестает работать, и я получаю сообщение об ошибке в журнале cat об исключении NullPointerException, но не может найти, где эта проблема. У кого-нибудь есть идеи, что я делаю неправильно или что заставляет приложение останавливаться?Исключение Null Pointer

Назначение кнопок на первом экране состоит в том, чтобы вывести пользователя в разные области приложения, чтобы не выбирать область для перехода. Я не могу много сделать с приложением.

Это код для моего первого экрана: package com.example.independentretailers; импорт com.example.independentretailers.R; import android.support.v7.app.ActionBarActivity; импорт android.app.Activity; import android.os.Bundle; импорт android.view.Menu; импорт android.view.MenuItem; импорт android.view.View; import android.view.View.OnClickListener; import android.widget.Button; импорт android.content. *;

public class welcome extends Activity { 


public void onCreate(Bundle savedInstanceState){ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.welcome); 
addListenerOnButton(); 
addListenerOnButton1(); 
} 

//to continue from welcome screen to customer login screen 
//when customer button is clicked 
public void addListenerOnButton() { 
Button CustomerButton = (Button) findViewById(R.id.button1); 

CustomerButton.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View v){ 
     Intent intent = new Intent (getApplicationContext(),customerlogin.class);  
      startActivity(intent); 

     } 
    }); 
} 

//to continue from welcome screen to retailer login screen 
//when retailer button is clicked 
public void addListenerOnButton1() { 
    Button RetailerButton = (Button) findViewById(R.id.button2); 

    RetailerButton.setOnClickListener(new OnClickListener(){  

     @Override 
     public void onClick(View v){ 
      Intent intent = new Intent (getApplicationContext(),retailerlogin.class);  
      startActivity(intent); 

     } 
    }); 

} 
} 

My Log Cat Ошибка:

03-30 18:56:19.716: E/ResourceType(536): Style contains key with bad entry: 0x01010479 
03-30 18:56:19.806: I/dalvikvm(536): threadid=3: reacting to signal 3 
03-30 18:56:19.876: I/dalvikvm(536): Wrote stack traces to '/data/anr/traces.txt' 
03-30 18:56:19.996: D/gralloc_goldfish(536): Emulator without GPU emulation detected. 
03-30 18:58:31.936: E/ResourceType(536): Style contains key with bad entry: 0x01010479 
03-30 18:58:31.966: D/AndroidRuntime(536): Shutting down VM 
03-30 18:58:31.966: W/dalvikvm(536): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 
03-30 18:58:32.016: E/AndroidRuntime(536): FATAL EXCEPTION: main 
03-30 18:58:32.016: E/AndroidRuntime(536): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.independentretailers/com.example.independentretailers.customerlogin}: java.lang.NullPointerException 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.ActivityThread.access$600(ActivityThread.java:123) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.os.Looper.loop(Looper.java:137) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.ActivityThread.main(ActivityThread.java:4424) 
03-30 18:58:32.016: E/AndroidRuntime(536): at java.lang.reflect.Method.invokeNative(Native Method) 
03-30 18:58:32.016: E/AndroidRuntime(536): at java.lang.reflect.Method.invoke(Method.java:511) 
03-30 18:58:32.016: E/AndroidRuntime(536): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
03-30 18:58:32.016: E/AndroidRuntime(536): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
03-30 18:58:32.016: E/AndroidRuntime(536): at dalvik.system.NativeStart.main(Native Method) 
03-30 18:58:32.016: E/AndroidRuntime(536): Caused by: java.lang.NullPointerException 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.view.ViewGroup.addViewInner(ViewGroup.java:3336) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.view.ViewGroup.addView(ViewGroup.java:3208) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.view.ViewGroup.addView(ViewGroup.java:3188) 
03-30 18:58:32.016: E/AndroidRuntime(536): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
03-30 18:58:32.016: E/AndroidRuntime(536): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:260) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.Activity.setContentView(Activity.java:1855) 
03-30 18:58:32.016: E/AndroidRuntime(536): at com.example.independentretailers.customerlogin.onCreate(customerlogin.java:28) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.Activity.performCreate(Activity.java:4465) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
03-30 18:58:32.016: E/AndroidRuntime(536): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
03-30 18:58:32.016: E/AndroidRuntime(536): ... 11 more 
03-30 18:58:32.405: I/dalvikvm(536): threadid=3: reacting to signal 3 
03-30 18:58:32.445: I/dalvikvm(536): Wrote stack traces to '/data/anr/traces.txt' 
03-30 18:58:32.625: I/dalvikvm(536): threadid=3: reacting to signal 3 
03-30 18:58:32.655: I/dalvikvm(536): Wrote stack traces to '/data/anr/traces.txt' 

Любая помощь на всех было бы весьма признателен.

+1

Пожалуйста, ваши StackTrace (LogCat) –

+0

Я просто добавил мой StackTrace к исходному сообщению – Tmcc

+0

Ваша ошибка показывает "... больше 11". Не могли бы вы расширить это, пожалуйста? – Prudhvi

ответ

0

Я думаю, что вам не нужно вставлять одну кнопку прослушивания кнопки в другую кнопку onClickListener. Также вы объявили кнопки как переменные экземпляра и не инициализировали их, тогда вы объявили локальные кнопки с одинаковыми именами внутри ваших методов. Удалите любой из них, чтобы заставить их работать. Попробуйте приведенный ниже код.

public class welcome extends Activity { 
    //Button CustomerButton; No need to declare these here. 
    //Button RetailerButton; 

    public void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.welcome); 
     addListenerOnButton(); 
     addListenerOnButton1(); 
    } 

    //to continue from welcome screen to customer login screen 
    //when customer button is clicked 
    public void addListenerOnButton() { 
     Button CustomerButton = (Button) findViewById(R.id.button1); 

     CustomerButton.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v){ 
       Intent intent = new Intent (getApplicationContext(),customerlogin.class);  
       startActivity(intent); 

      } 
     }); 
    } 

    //to continue from welcome screen to retailer login screen 
    //when retailer button is clicked 
    public void addListenerOnButton1() { //This method was inside the first method earlier. 
     Button RetailerButton = (Button) findViewById(R.id.button2); 

     RetailerButton.setOnClickListener(new OnClickListener(){  

      @Override 
      public void onClick(View v){ 
       Intent intent = new Intent (getApplicationContext(),retailerlogin.class);  
       startActivity(intent); 

      } 
     }); 

    } 
} 
Смежные вопросы