我已经花了一段时间阅读和调整我的代码,但它一直在崩溃,我无法弄清楚它为什么会崩溃。有人可以指出我在哪里犯错误。我是编程和Android开发的小伙伴,试图理解ArrayAdapter和ListViews的基础知识。
这是我的代码: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" />
答案 0 :(得分:3)
ListView listView = (ListView) findViewById(R.id.list);
之前, setContentView
在构造函数中执行。由于尚未加载视图,因此请求的视图不存在,返回null
。
在调用findViewById
setContentView