0

LinkAdapterを拡張したクラスArrayAdapterです。

private static List<LinkData> linkDataList = new ArrayList<LinkData>();
private LinkAdapter la;
la = new LinkAdapter(someLinkDataitmes, getActivity()); 
ListView lv = (ListView) v.findViewById(R.id.urls);
lv.setAdapter(la);


public class LinkData {
    private String name, image, description;

    public LinkData(String name, String image, String description){
        this.name = name;
        this.image=image;
        this.description=description;
        }
}

後で更新したいのですがlistview

ListView lv = (ListView) v.findViewById(R.id.urls);
LinkAdapter mListAdapter = ((LinkAdapter)lv.getAdapter()); // this line is giving an error.
mListAdapter.add(new LinkData(name_val, image_val, description_val));
mListAdapter.notifyDataSetChanged();

しかし、コードが機能していません(を与えるNullPointerException

インターネットでたくさん検索しましたが、私の問題に対する具体的な答えが見つかりませんでした。

4

2 に答える 2

0

私が見る限り、ListViewにアダプターを追加したことはありません。Adapter はデフォルトでは ListView に組み込まれていないため、作成して追加する必要があります。

mListAdapter.setAdapter( YOUR_ARRAY_ADAPTER_GOES_HERE ); を実行すると、回復を試みる前に、正常に動作するはずです。

NPE は、存在しなかったものへの参照に対して「取得」できないためです。

于 2013-10-02T21:49:43.637 に答える