1

我在 Eclipse 中没有收到直接错误。但是当我尝试在我的手机上运行它时,它不会打开活动,然后我的手机会重置。我可能错误地使用了数组适配器。但这是我的代码文件:

Java文件包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 布局文件

        <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>

编辑:日志文件:04-20 23:10:07.660: D/AndroidRuntime(284): 关闭 VM 04-20 23:10:07.660: W/dalvikvm(284): threadid=1: 线程以未捕获的异常退出( group=0x4001d800) 04-20 23:10:07.670: E/AndroidRuntime(284): 致命异常: main 04-20 23:10:07.670: E/AndroidRuntime(284): java.lang.RuntimeException: 无法启动活动ComponentInfo{creativecoders.periodictable/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): 在 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):在 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): 在 android.os.Looper.loop(Looper.java:123) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app。 ActivityThread.main(ActivityThread.java:4627) 04-20 23:10:07.670: E/AndroidRuntime(284): at java.lang.reflect.Method.invokeNative(Native Method) 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):在 dalvik.system。NativeStart.main(Native Method) 04-20 23:10:07.670: E/AndroidRuntime(284): 由: java.lang.NullPointerException 04-20 23:10:07.670: E/AndroidRuntime(284): 在 creativecoders。 periodtable.AM.onStart(AM.java:28) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129) 04-20 23:10: 07.670: E/AndroidRuntime(284): 在 android.app.Activity.performStart(Activity.java:3781) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread .java:2636) 04-20 23:10:07.670: E/AndroidRuntime(284): ... 11 更多E/AndroidRuntime(284): 在 android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app.Activity.performStart(Activity.java :3781) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2636) 04-20 23:10:07.670: E/AndroidRuntime(284): ... 11 更多E/AndroidRuntime(284): 在 android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app.Activity.performStart(Activity.java :3781) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2636) 04-20 23:10:07.670: E/AndroidRuntime(284): ... 11 更多

4

1 回答 1

1

您没有初始化 ListView。在 onCreate()

amList = (ListView)findViewById(R.id.listView1);
于 2013-04-20T23:05:52.653 回答