2014-10-12 3 views
0

을 스크롤 할 때까지 목록을 만들었지 만 첫 번째 항목은 목록을 견인하므로 목록을 스크롤해야하지 않으므로 어떻게 할 수 있습니까?안드로이드 ListView를 숨기기 위치 0

listview.post(new Runnable() { 
    @Override 
    public void run() { 
     listview.setSelection(1); 
    } 
}); 

목록에는 적어도 행이 있어야합니다.

+0

'목록 항목 높이 합계'가 '목록보기'높이보다 작은 경우 어떻게 스크롤 할 수 있습니까? 이를 위해 대체 논리를 이해하거나 하나의 높이보다 높이를 낮추어야합니다. 나중에 – Panther

+0

보다 먼저 선호하는 항목을 머리글로 넣은 다음 머리글 높이를 늘리거나 줄일 수 있습니다. – VinceStyling

답변

0

어댑터의 첫 번째 요소를 건너 뛰고 ListView를 스크롤하면 이전 항목이 새 항목 (첫 번째 항목 포함)으로 전환됩니다. 예 :

final List<String> items = new ArrayList<String>(); 

List<String> itemsFirstSkipped = items.subList(1, items.size()-1); 

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_list_item_1, android.R.id.text1, 
     itemsFirstSkipped); 
listView.setAdapter(adapter); 
listView.setOnScrollListener(new AbsListView.OnScrollListener() { 
    @Override 
    public void onScrollStateChanged(AbsListView view, int scrollState) { 

    } 

    @Override 
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 
     // Make sure at least 1 item is scrolled 
     if (firstVisibleItem>0) { 
      adapter.clear(); 
      adapter.addAll(items); 
      // notifyDataSetChanged is called by default 
     } 
    } 
}); 
관련 문제