我在 Eclipse 中没有遇到直接错误。但是当尝试在我的手机上运行它时,它不会打开 Activity ,然后我的手机会重置。我可能错误地使用了阵列适配器..但这是我的代码文件:
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): 关闭虚拟机 04-20 23:10:07.660: W/dalvikvm(284): threadid=1: 线程以未捕获的异常退出 (group=0x4001d800) 04-20 23:10:07.670:E/AndroidRuntime(284):致命异常:主要 04-20 23:10:07.670: E/AndroidRuntime(284): java.lang.RuntimeException: 无法启动 Activity ComponentInfo{creativecoders.periodictable/creativecoders.periodictable.AM}: java.lang.NullPointerException 04-20 23:10:07.670:E/AndroidRuntime(284):在 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):在 java.lang.reflect.Method.invokeNative( native 方法) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 java.lang.reflect.Method.invoke(Method.java:521) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 04-20 23:10:07.670: E/AndroidRuntime(284): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 04-20 23:10:07.670:E/AndroidRuntime(284):在 dalvik.system.NativeStart.main( native 方法) 04-20 23:10:07.670:E/AndroidRuntime(284):引起:java.lang.NullPointerException 04-20 23:10:07.670:E/AndroidRuntime(284):在 creativecoders.periodictable.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 更多
最佳答案
您没有初始化 ListView。在 onCreate() 中
amList = (ListView)findViewById(R.id.listView1);
关于java - Android:使用数组适配器显示列表数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16125989/