2013-04-20 3 views
1

Я не получаю прямую ошибку в Eclipse .. но при попытке запустить это на моем телефоне он не открывает активность, а затем мой телефон сбрасывается. Я могу использовать адаптер массива неправильно .. но вот мои файлы кода:Android: использование массива для отображения списка массива

Файл Java package creativecoders.periodictable;

import android.app.Activity; 
    import android.content.pm.ActivityInfo; 
    import android.os.Bundle; 
    import android.widget.ArrayAdapter; 
    import android.widget.ListView; 

    public class AM extends Activity { 

     private ListView amList; 

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

      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

     } 

     @Override 
     public void onStart() { 
      super.onStart(); 

      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
        this, R.array.AM, android.R.layout.simple_list_item_1); 
      amList.setAdapter(adapter); 

     } 

     public void onPause() { 
      super.onPause(); 
      finish(); 
     } 

     public void onStop() { 
      super.onStop(); 
      finish(); 
     } 

     public void onDestroy() { 
      super.onDestroy(); 
      finish(); 
     } 

    } 

XML Layout File

 <ListView 
      android:id="@+id/listView1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 
     </ListView> 

    </LinearLayout> 

Строка файла

 <string-array name="AM"> 
     <item> ONE </item> 
     <item> TWO </item> 
     <item> THREE </item> 
     </string-array> 

EDIT: Файл журнала: 04-20 23: 10: 07,660: D/AndroidRuntime (284): Выключение VM 04-20 23: 10: 07.660: W/dalvikvm (284): threadid = 1: выход из потока с неперехваченным исключением (группа = 0x4001d800) 04-20 23: 10: 07.670: E/AndroidRuntime (284): FATAL EXCEPTION: main 04-20 23: 10: 07.670: E/AndroidRuntime (284): java.lang.RuntimeException: не удается запустить активность ComponentInfo { creativecoders.periodictable.AM}: java.lang.NullPointerException 04-20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2663) 04 -20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2679) 04-20 23: 10: 07.670: E/AndroidRuntime (284): на android. app.ActivityThread.access $ 2300 (ActivityThread.java:125) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2033) 04- 20 23: 10: 07.670: E/AndroidRuntime (284): на android.os.Handler.dispatchMessage (Handler.java:99) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at android.os.Looper.loop (Looper.java:123) 04- 20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.ActivityThread.main (ActivityThread.java:4627) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at java.lang .reflect.Method.invokeNative (родной метод) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at java.lang.reflect.Method.invoke (Method.java:521) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at dalvik.system.NativeStart.main (собственный метод) 04-20 23: 10: 07.670: E/AndroidRuntime (284): вызвано: java.lang.NullPointerException 04-20 23: 10: 07.670: E/AndroidRuntime (284): at creativecoders.periodictable.AM.onStart (AM.java:28) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1129) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.Activity.performStart (Activity.java:3781) 04-20 23: 10: 07.670: E/AndroidRuntime (284): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java : 2636) 04-20 23: 10: 07.670: E/AndroidRuntime (284): ... 11

+0

Вы также должны опубликовать свой стек ошибок/журнал ошибок. Подключите телефон к компьютеру и запустите «adb logcat *: E» в терминале, чтобы проверить, что такое ошибка. – Sharj

ответ

1

вы не инициализировали ListView. in onCreate()

amList = (ListView)findViewById(R.id.listView1); 
+0

О, ничего себе! Большое вам спасибо, я не могу поверить, что все это прошло. Ты жжешь! :-) –

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