0

これがばかげているように思われる場合は申し訳ありませんが、私は私が得ているこのランタイムエラーを理解することができません。参考までに、ここに私のコードがあります:

MainActivity.java

MainListViewRecordAdapter.java

現在、MainListViewRecordAdapterの27行目でNullPointerExceptionが発生しています。デバッガーを実行すると、intの位置は常に0になります。これにより、コードはArrayListから項目を段階的に除外せず、NullPointerExceptionが発生します。唯一のことは、なぜそれが起こっているのか理解できません、なぜ位置は常に値0を持っているのですか?

4

1 に答える 1

2

Arraylist 項目を初期化しておらず、行 position=1; を削除していません。次のようにします。

package com.chigstuff.fun;

import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class MainListViewRecordAdapter extends ArrayAdapter<MainListViewRecord> {
    private ArrayList<MainListViewRecord> items;

    public MainListViewRecordAdapter(Context context, int textViewResourceId, ArrayList<MainListViewRecord> items) {
        super(context, textViewResourceId, items);
this.items=items;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.main_list_view_record, null);
        }
        MainListViewRecord item = items.get(position);
        if (item != null) {
            TextView main_list_view_text = (TextView) v.findViewById(R.id.main_list_view_text);

            if (main_list_view_text != null) {
                main_list_view_text.setText("What text");
            }
        }

        return v;
    }
}
于 2012-07-13T04:48:13.293 に答える