2013-02-11 1 views
-1

это мой первый пост на этом сайте.Неприятности, возникающие для разработки на froyo

Выполнение ученичества, компания сказала мне разработать приложение для Jelly-bean, но теперь они хотят перенести часть моей работы на froyo.

Я хотел начать, но я не могу даже начать, изменение TextView текста капель мне nullPointerException:

package com.videopleyer22ics; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.TextView; 

    public class MainActivity extends Activity 
    { 
     TextView tv1; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 

      tv1 = (TextView) findViewById(R.id.texto1); 

      setContentView(R.layout.activity_main); 

      tv1.setText("Text changed"); 
     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      // Inflate the menu; this adds items to the action bar if it is present. 
      getMenuInflater().inflate(R.menu.activity_main, menu); 
      return true; 
     } 

} 

Вот Logcat дамп

02-11 14:52:34.058: E/AndroidRuntime(510): FATAL EXCEPTION: main 
02-11 14:52:34.058: E/AndroidRuntime(510): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.videopleyer22ics/com.videopleyer22ics.MainActivity}: java.lang.NullPointerException 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.os.Looper.loop(Looper.java:123) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.ActivityThread.main(ActivityThread.java:4627) 
02-11 14:52:34.058: E/AndroidRuntime(510): at java.lang.reflect.Method.invokeNative(Native Method) 
02-11 14:52:34.058: E/AndroidRuntime(510): at java.lang.reflect.Method.invoke(Method.java:521) 
02-11 14:52:34.058: E/AndroidRuntime(510): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
02-11 14:52:34.058: E/AndroidRuntime(510): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
02-11 14:52:34.058: E/AndroidRuntime(510): at dalvik.system.NativeStart.main(Native Method) 
02-11 14:52:34.058: E/AndroidRuntime(510): Caused by: java.lang.NullPointerException 
02-11 14:52:34.058: E/AndroidRuntime(510): at com.videopleyer22ics.MainActivity.onCreate(MainActivity.java:54) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
02-11 14:52:34.058: E/AndroidRuntime(510): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
02-11 14:52:34.058: E/AndroidRuntime(510): ... 11 more 

Я просто не знаю, что делать, поскольку он отлично работает на ICS, и мне нужна помощь. Знаете ли вы способ переноса ICS-proyect на froyo? Я не против делать это снова на месте.

Спасибо заранее.

+1

Что находится в строке 54 MainActivity.java? – Michael

+0

Одна вещь о вашем коде. При попытке установить что-то в представление после его поиска через findViewById (id) всегда проверяйте, не является ли это представление первым. – Raigex

ответ

6

Подкатегории: setContentView() и findViewById(). Вы пытаетесь найти TextView до того, как основной макет был завышен.

+0

Бог ... Большое спасибо! – makiza