2012-05-30 3 views
0

LogCat:приложение Decra (процесс com.Decra) остановил unexpectedly.Please попробуйте еще раз

FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.Decra/com.Decra.DecRaActivity}: java.lang.NullPointerException 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:4627) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 

код:

TextView dectv=(TextView)findViewById(R.id.dec); 
    TextView ratv=(TextView)findViewById(R.id.ra); 
    TextView result=(TextView)findViewById(R.id.result); 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button btn=new Button(this); 
     btn.setOnClickListener(this); 
    } 

При запуске приложения оно Force Закрывает со следующей ошибкой:

the application DecRa (process com.Decra) has stopped unexpectedly.Please try again.

И ошибок в компиле нет. er, Так что это должны быть ошибки времени выполнения. Но я не понимаю, что означают ошибки! и я понял, что одна из ошибок относится к findViewById.

+0

проверка Activity.java:1637 – theAlse

+0

что Activity.java:1637? –

+0

Существует ли раскол dectv, ratv и result? Поместите лог после каждой строки и посмотрите, как далеко она доходит! – theAlse

ответ

1

Вы не можете позвонить по телефону findViewById(), если вы не вызвали setContentView() заранее. Просто переместите строки инициализации TextView методу onCreate() следующим образом:

TextView dectv; 
TextView ratv; 
TextView result; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     dectv=(TextView)findViewById(R.id.dec); 
     ratv=(TextView)findViewById(R.id.ra); 
     result=(TextView)findViewById(R.id.result); 

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