2013-03-03 2 views
1

listView 항목 수를 계산하려고합니다. 이 코드를 사용하여 :목록보기 항목보기 오류

int count=0; 
ListView listView = (ListView) findViewById(R.id.listView1); 
for(int i = 0; i <= listView.getLastVisiblePosition(); i++) 
     { 
      if(listView.getChildAt(i)!= null) 
      { 
       count++; 
      } 
     } 

Toast.makeText(getApplicationContext(), String.valueOf(count), Toast.LENGTH_SHORT).show(); 

왜 COUNT 변수 값이 항상 0인지, listView에서 일부 레코드를 표시합니까?

+0

listView.getLastVisiblePosition() == 0 ??? – Simon

+0

ListView는 ListAdapter에서 채워지며,이 메소드에는 getCount() 메서드가 있습니다. 그게 네가 필요한거야? http://developer.android.com/reference/android/widget/Adapter.html – vokilam

답변

4

하려고지고 시간에 비어 있기 때문에 당신이 원하는 것은 표시되는 항목의 개수 인 경우

listView.getCount(); 

이 (만 볼 수있는 ListView 작동을) 시도 :

listView.getLastVisiblePosition()-listView.getFirstVisiblePosition(); 
+0

Exectly, 나는 그것을 필요로한다 :) –

1

.. 나에게 이유를 설명 하자 당신했습니다 그냥이

ListView listView = (ListView) findViewById(R.id.listView1); 

같은 목록보기 그래서리스트 뷰에 요소가없는 한 다음 listView.getLastVisiblePosition() 그것을 항상 반환을 사용하여 마지막으로 볼 수있는 위치보다 얻을 트링하는 수 제로 아직 목록보기, 즉 모든 어댑터와 결합하지 않은 당신의 목록보기에 당신은 당신이 모든 수를 찾는 경우에 마지막으로 볼 수있는 위치가 place this code after binding Adapter to the listview

for(int i = 0; i <= listView.getLastVisiblePosition(); i++) 
     { 
      if(listView.getChildAt(i)!= null) 
      { 
       count++; 
      } 
     } 
1

ListView에 항목, 당신은이 호출 (확인 어댑터가 설정되어 있는지 확인)를 사용할 수 있습니다 이것을 사용하십시오. 내 도움이됩니다.

String CountListRowNo= String.valueOf(+ListviewObj.getAdapter().getCount());