2013-06-09 5 views
0

안드로이드 프로젝트에서 listview를 검색하도록 구현했습니다. 첫 번째 애플리케이션은 async 메소드를 사용하여 PHP - JSON을 사용하여 mysql에서 데이터를 listview로로드합니다. 응답이 빠르며 목록에 많은 항목이 포함되어 있지 않은 경우이 작동합니다. 그러나 나의 명부는 550 이상 품목을 포함한다. 데이터를 목록에로드하는 데 시간이 걸립니다. 그래서 목록에로드하는 더 나은 또는 빠른 방법이 궁금하니?최고의 안드로이드리스트 뷰 구현 방법

답변

1

모든 것이 여기에 있습니다 :

쉬운 방법은 searchview상의 OnQueryTextListener를 연결하는 것입니다.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.options_menu, menu); 

    // Associate searchable configuration with the SearchView 
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();    

    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
    searchView.setOnQueryTextListener(this); 
    mListView.setTextFilterEnabled(true); 

    return true; 
} 

당신이 onQueryTextSubmit()와 onQueryTextChange() 메소드를 구현해야 후. 예를 들어 첫 번째 요청은 부하 더 버튼 "또는리스트 뷰에 스크롤 수신기를 사용하지 않고"향후 10 개 요소를 얻기 위해 다음 10 개 요소를 얻을 수 있도록

public boolean onQueryTextSubmit(String s) { 
    return false; 
} 

@Override 
public boolean onQueryTextChange(String s) { 
    if (TextUtils.isEmpty(s)) { 
     mListView.clearTextFilter(); 
    } else { 
     mListView.getTextFilter(); 
    } 

    return true; 
}