【发布时间】:2013-07-14 13:04:12
【问题描述】:
我正在检索数据(用户信息),并将其从 HashMap 显示到 ArrayAdpater(在列表视图中)。每当我在列表视图上单击(甚至滚动)时,我的应用程序就会崩溃。
知道为什么会这样吗?这就是我正在做的事情:
//..
Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app_activity3);
information=new String[50];
Intent intent = getIntent();
Custom custom = (Custom) intent.getSerializableExtra("custom");
HashMap<String, String> list = custom.getList();
//Set s = list.entrySet();
Iterator items=list.values().iterator();
int i=0;
while (items.hasNext())
{
information[i]=(String) items.next();
System.out.println(information[i]);
i++;
}
lv = (ListView)findViewById(R.id.listview1);
lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,information));
lv.setTextFilterEnabled(true);
}
这是我的 Logcat:
01-22 22:45:20.286: D/AndroidRuntime(332): 关闭 VM 01-22 22:45:20.286: W/dalvikvm(332): threadid=1: 线程退出未捕获异常 (group=0x4001d800) 01-22 22:45:20.306:E/AndroidRuntime(332):致命异常:主要 01-22 22:45:20.306: E/AndroidRuntime(332): java.lang.NullPointerException 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.AbsListView.obtainView(AbsListView.java:1294) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.ListView.measureHeightOfChildren(ListView.java:1198) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.ListView.onMeasure(ListView.java:1109) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.View.measure(View.java:8171) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.View.measure(View.java:8171) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.View.measure(View.java:8171) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.View.measure(View.java:8171) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.View.measure(View.java:8171) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.ViewRoot.performTraversals(ViewRoot.java:801) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.os.Handler.dispatchMessage(Handler.java:99) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.os.Looper.loop(Looper.java:123) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 java.lang.reflect.Method.invokeNative(Native Method) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 java.lang.reflect.Method.invoke(Method.java:521) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 01-22 22:45:20.306: E/AndroidRuntime(332): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 01-22 22:45:20.306: E/AndroidRuntime(332): at dalvik.system.NativeStart.main(Native Method) 01-22 22:45:22.496: I/Process(332): 发送信号。 PID:332 SIG:9
【问题讨论】:
-
发布您的 logcat 错误报告..
-
贴出listview的onclick事件代码..
-
查看此代码以获取列表视图示例:ezzylearning.com/tutorial.aspx?tid=1659127
标签: android android-listview android-arrayadapter