2011-09-23 2 views
1

기본 개체가 Employee입니다. .getName().getId()을 사용하여 직원의 이름과 ID를 검색 할 수 있습니다.Android SeparatedListAdapter - 맞춤 개체를 목록 항목으로 사용하는 방법?

Jeff Sharkey의 SeparatedListAdapter를 사용하여 섹션 목록을 만들려고합니다. 그러나 목록 항목의 경우 문자열 목록 대신 항목에 내 사용자 지정 Employee 개체를 사용해야합니다.

SeparatedListAdapter에 포함 된 예제에서 그는 목록 채우기에 ArrayAdapter<String>SimpleAdapter()을 사용합니다.

내 직원 클래스와 같이 사용자 지정 개체/클래스를 사용할 수있는 방법이 있습니까? 이 작업을 수행해야하는 이유는 목록에서 항목을 클릭 할 때 해당 항목에 사용한 실제 Employee 개체를 검색 한 다음 해당 직원의 ID를 검색하여 정보를 표시 할 수 있기를 원합니다 그 종업원에게.

나는 어댑터를 올바르게 사용하는 방법에 대해서는 약간 혼란 스럽다. 나 자신의 어댑터 또는 뭔가를 만들어야합니까?

+0

귀하의 요구 사항에 따라 BaseAdapter를 사용하지 않는 이유는 무엇입니까? –

+0

BaseAdapter는 귀하의 상황에 아주 좋습니다 –

답변

3

사용자 지정 어댑터를 구현해야합니다. 예 : 때

class CustomAdapter extends ArrayAdapter<Employee> 

및 SeparatedListAdapter에 사용 :

CustomAdapter workersAdapter = new CustomAdapter(this, resourceID, workersList); 
SeparatedListAdapter separated = new SeparatedListAdapter(this); 
... 
separated.addSection("Workers", workersAdapter); 

편집 : 직원 정보와 뷰를 생성하도록 CustomAdapter에 설정을 무시하고의 getView 방법. 이와 같이 :

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View view; 
     if(convertView == null){ 
      view = convertView; 
     }else 
      view = mInflater.inflate(R.layout.your_row, null); 

     Employee e = getItem(position); 

     ((TextView)view.findViewById(R.id.textview_id)).setText(e.getId()); 
     //... 

     return view; 
    } 
+0

좋아요, ListView의 각 항목에 어떤 텍스트가 표시되는지 정의 할 수 있습니까? –

+0

위의 예를 시도하십시오. 좋은 튜토리얼 : http://www.softwarepassion.com/android-series-custom-listview-items-and-apters/ – Rodrigo

관련 문제