【问题标题】:Android-Listview安卓列表视图
【发布时间】: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

【问题讨论】:

标签: android android-listview android-arrayadapter


【解决方案1】:
ListView lv = (listView) findViewById(R.Id.listView1);

进一步定义您的 ListView。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多