android - ArrayAdapter 错误

标签 android arrays eclipse android-arrayadapter

下面是我的代码,只是尝试在 ListView 上显示项目,但它给了我空指针异常。有任何想法吗?我只是在最终数组中组合了 2 个字符串,并且 log cat 指向末尾带有 arrayAdapter 的行。

package com.example.forecastspending;

import java.text.DecimalFormat;

import android.app.TabActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.TabHost.TabSpec;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;  
import android.widget.TabHost;
import android.app.Activity;
import android.widget.TextView;
import android.app.ListActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;

public class SavingsForecastActivity extends MainActivity {

ListView recurrenceListView;
Button add_btn;
EditText reccurenceEntry_et;
EditText reccurenceExplanation_et;

// Double[] comparisonArray = new Double[8];
int reccurenceCounter;

String[] reccurenceArray = new String[30];
String[] reccurenceExpArray = new String[30];
String[] finalDisplayArray = new String[30];

private ArrayAdapter arrayAdapter;

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

        ListView recurrenceListView = (ListView) findViewById( R.id.recurrenceListView );
        reccurenceEntry_et = (EditText) findViewById( R.id.reccurenceEntry_et );
        reccurenceExplanation_et = (EditText) findViewById( R.id.reccurenceExplanation_et );

        Button add_btn = (Button) findViewById( R.id.add_btn);

        add_btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                addRecurrence();
                //calculateMovingAverage();                 
            }
        });

}

    public void addRecurrence(){

        SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0         - for private mode
         Editor editor = pref.edit();

         // brings it in from activity 2
         // Double bankBalanceMainAct = Double.parseDouble(pref.getString("bankBalance","0"));

         int reccurenceCounter = pref.getInt("rCount",0);

        double reccurenceInput = Double.valueOf(reccurenceEntry_et.getText().toString());
        String rExpInput = reccurenceExplanation_et.getText().toString();

        editor.putString("rInput",reccurenceInput+"");
        editor.commit();
        String rInput = pref.getString("rInput","0");

        //adds the new cost to the reccurence array to dispaly for user
        reccurenceArray[reccurenceCounter] = rInput;
        //reccurenceExpArray[reccurenceCounter] = rExpInput;
        finalDisplayArray[reccurenceCounter] = rInput + "" +rExpInput;

        reccurenceCounter = reccurenceCounter + 1;
        editor.putInt("rCount",reccurenceCounter);
        editor.commit();

        for(int i = 0; i < finalDisplayArray.length; i++){
                finalDisplayArray[i] = "0";             
        }

        arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,   finalDisplayArray);
        recurrenceListView.setAdapter(arrayAdapter);

    }

}

最佳答案

使用

recurrenceListView = (ListView) findViewById( R.id.recurrenceListView );

而不是

ListView recurrenceListView = (ListView) findViewById( R.id.recurrenceListView );

因为在 onCreate 中,您是 ListView 的新实例,而不是初始化您在 onCreate 之前创建的 recurrenceListView .

关于android - ArrayAdapter 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25737350/

相关文章:

android - 将位图的大小调整为固定值但不更改纵横比

c - C中的内存溢出混淆

java.lang.NoClassDefFoundError : org/apache/hadoop/conf/Configuration 错误

java - Android无法通过蓝牙接收所有字符

java - 附加到 CipherOutputStream - AES/CTR/NoPadding (Java)

php - 拉维尔 |具有保留键的PHP数组递归合并

java - printf 中文件的输出

php - PHP 中带有类型提示的动态返回类型?

android - 更新我的 google play "What' s new"部分

arrays - Swift Array() 强制转换在没有更多上下文的情况下不明确——但仅在扩展中