2017-07-10 28 views
-2

我花了一段时间阅读和调整我的代码,但它一直崩溃,我无法弄清楚它为什么会崩溃。有人可以指出我犯的错误。我对编程和Android开发尝试理解ArrayAdapters和ListViews的基础知识感到不高兴。ArrayAdapter和ListView - 我的应用程序崩溃

这里是我的代码:MainActivity.java

package com.example.android.samplelistviewapp; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

import java.util.ArrayList; 

public class MainActivity extends AppCompatActivity { 

    ArrayList<String> listItems = new ArrayList<String>(); 

    ArrayAdapter<String> adapter; 

    ListView listView = (ListView) findViewById(R.id.list); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     listItems.add("hello"); 
     listItems.add("how do you do"); 
     listItems.add("Ca va"); 
     listItems.add("Bonjour"); 
     listItems.add("Toronto"); 
     listItems.add("hello"); 
     listItems.add("mississauga"); 
     listItems.add("computer"); 
     listItems.add("ipad"); 
     listItems.add("sky"); 
     listItems.add("hello"); 
     listItems.add("road"); 
     listItems.add("mountain"); 

     adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, listItems); 

     listView.setAdapter(adapter); 
    } 
} 

这里是我的xml:activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<ListView 
    android:id="@+id/list" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    xmlns:android="http://schemas.android.com/apk/res/android" /> 
+1

后堆栈跟踪,请 –

+0

什么错误你好吗? – Maantje

回答

3

ListView listView = (ListView) findViewById(R.id.list);被调用setContentView之前在构造函数中执行。由于视图尚未加载,请求的视图不存在,返回null

电话后移动findViewByIdsetContentView

+0

谢谢!这解决了它。 – tee