2016-03-18 58 views
0

我想設置一個ListView使用ArrayList,但是當我運行我遇到的錯誤的應用程序不幸的是,應用程序已停止。 這裏採用的是Android監視器錯誤:使用ArrayList來設置ListView - null對象引用錯誤

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference at com.example.nfp.weather_g.MainActivity.onCreate(MainActivity.java:35) 

,這是我的代碼:

package com.example.nfp.weather_g; 

import android.os.Bundle; 

import android.support.v7.app.AppCompatActivity; 

import android.widget.ArrayAdapter; 

import android.widget.ListView; 

import java.util.ArrayList; 

import java.util.List; 

public class MainActivity extends AppCompatActivity { 

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


     List<String> forecast = new ArrayList<>(); 
      forecast.add("Today - Sunny - 88/63"); 
      forecast.add("Tomorrow - Foggy - 70/40"); 
      forecast.add("Weds - Cloudy - 72/63"); 
      forecast.add("Thurs - Asteroids - 75/65"); 
      forecast.add("Fri - Heavy Rain - 65/56"); 
      forecast.add("Sat - HELP TRAPPED IN WEATHERSTATION - 60/51"); 
      forecast.add("Sun - Sunny - 80/68"); 


     ArrayAdapter<String> arrayAdapter = new ArrayAdapter(
       getApplication(), 
       android.R.layout.simple_list_item_1, 
       forecast 
     ); 
     ListView listView = (ListView) findViewById(android.R.id.list); 
     listView.setAdapter(arrayAdapter);}} 

而且ListView控件ID是列表

我應該怎麼解決呢?

回答

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

(android.R.id.list)是錯誤的。你必須引用你的列表,你已經在你的xml中使用 - ListView listView =(ListView)findViewById(R.id.listView);

其中listView是您的Listview在佈局中的ID

相關問題