ListView onItemClickListener在滚动时抛出空指针

时间:2013-08-12 09:37:54

标签: android listview view android-arrayadapter baseadapter

我有一个列表视图,其中有2个文本视图位置彼此相邻。现在,此列表中将包含大约100个项目,在一个页面中显示大约10个项目。

现在,当我向下滚动所有位置的列表时,从位置12到可能的位置,视图返回为空。

当我查找这个时,获得了getFirstVisiblePosition()的一些结果;等等,我对此并不十分清楚。

能不能告诉我如何解决这个问题?

这是我的代码,

  listview.setOnItemClickListener(new OnItemClickListener() {
     @Override
    public void onItemClick(AdapterView<?> arg,View view, int pos, long arg3) {

         View parentView = (View) view.getParent();
         parentView = listview.getChildAt(pos);
        if (null != parentView) {
                TextView dupid, dupdesc;
                dupid = ((TextView) parentView.findViewById(R.id.dupitemId));
                dupdesc = ((TextView) parentView.findViewById(R.id.dupitemIdDesc));
                String duplicateId = dupid.getText().toString();
                String duplicateDesc = dupdesc.getText().toString();
           }

         }
    }); 

当我向下滚动说到20位置时,

这一行

   parentView = listview.getChildAt(pos);

将我抛出。

enter image description here

任何人都可以帮我搞清楚吗?

1 个答案:

答案 0 :(得分:1)

这不是你需要做的全部吗?

listview.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg,View view, int pos, long arg3) {
        TextView dupid, dupdesc;
        dupid = ((TextView) view.findViewById(R.id.dupitemId));
        dupdesc = ((TextView) view.findViewById(R.id.dupitemIdDesc));
        String duplicateId = dupid.getText().toString();
        String duplicateDesc = dupdesc.getText().toString();
    }
});