2013-07-30 2 views
-1

나는 안드로이드의 목록보기에서 만들었습니다. 내 요구는 "이 목록보기의 모든 항목을 보았습니다"라는 메시지 하나를 축배하는 것입니다.목록보기의 모든 항목을 아는 방법은 android에서 보았습니까?

즉, 목록보기에서 모든 항목을 본 후 자동으로 위 메시지와 같이 표시해야하는 이유는 무엇입니까?

제안은 당신의 소중한 시간을

감사하시기 바랍니다! ..

ListFruitActivity.java에게

public class ListFruitActivity extends ListActivity { 

static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana", 
     "Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit", 
     "Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" }; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // no more this 
    // setContentView(R.layout.list_fruit); 

    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_fruit,FRUITS)); 

    ListView listView = getListView(); 
    listView.setTextFilterEnabled(true); 

    listView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // When clicked, show a toast with the TextView text 
      Toast.makeText(getApplicationContext(), 
      ((TextView) view).getText(), Toast.LENGTH_SHORT).show(); 
     } 
    }); }} 
+0

어댑터의 getView()에서 listview의 마지막 항목의 위치를 ​​반환합니다. – Saurabh

+0

@Saurabh는 하나의 샘플을 보여 주실 수 있습니까? – prabu

+0

하나의 어댑터 클래스를 생성하고 BaseAdapter로 확장하면 getView (int position, View v, ViewGroup parent) 이 함수에서 마지막 위치를 얻습니다. 요약하면 하나의 사용자 지정 목록보기를 만듭니다. – Saurabh

답변

1

listView.getLastVisiblePosition()

는 포지를 돌려줍니다 화면에 표시된 마지막 항목에 대한 어댑터의 데이터 세트 내에서.

listview.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent arg1) { 
      //needs to be optimized 
      int count = ((ListView) v).getLastVisiblePosition(); 

      if(count == maxRow) 
      { 
       //make toast, 
      } 
      return false; 
     } 
}); 
0

간단한 예제는 HashMap을 사용하여 수행 할 수 있습니다. 여기에 빠른 샘플이 있습니다

HashMap map = new HashMap(); 
map.put("Apple", false); 
map.put("Avocado", false); 
//same for the rest of your fruit 

onItemClickListener에서 제공된 키를 true로 설정하여지도의 항목 값을 설정할 수 있습니다. 당신은지도에 모든 false 값이있는 경우 모든 항목이 조회 된 경우, 확인할 수 있습니다 동시에

map.put("Apple", true); 

.

또 다른 방법은 사용자 지정 개체를 목록에 추가하고 속성 (예 : boolean viewed;)을 설정하고 해당 목록 항목을 볼 때 true로 설정하는 것입니다.

관련 문제