2013-08-12 3 views
0

2 개의 텍스트보기 위치가 서로 나란히있는 목록보기가 있습니다. 이제이 목록에는 100 개가 넘는 항목이있어 한 페이지에 약 10 개의 항목이 표시됩니다.ListView onItemClickListener가 스크롤 할 때 null 포인터를 던졌습니다.

이제 모든 위치에 대한 목록을 아래로 스크롤하면 위치 12에서 얼마나 될지까지 볼 수 있습니다.보기는 null로 반환됩니다.

내가 이것을 찾으면 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

하나는 알아내는 나를 도와 드릴까요?

+0

parentView가 이미 초기화되었습니다. 왜이'parentView = listview.getChildAt (pos)'가 필요한가요? – Raghunandan

+0

특정 행 항목의 뷰를 가져 와서 텍스트 뷰 값을 얻으려는 경우 – tejas

+0

이미'parentView'가 있습니다 – Raghunandan

답변

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(); 
    } 
}); 
+0

감사합니다 :) 두 코드가 모두 작동합니다. – tejas

관련 문제