를 참조하고하는 의사 코드의 무리 인 OnClickListener를 지정 . 이것은 모든 종류의 일을 할 수있는 유연성을 제공하지만, 여기서 중요한 것은 사용자 정의 클래스의 관련 필드 만 표시하고 더 복잡한 목록보기를 작성하는 것입니다. 괜찮은 튜토리얼은 여기에 있습니다 : http://developerlife.com/tutorials/?p=327
당신은 baseadapter의 다른 재 지정을 처리해야하지만 키가 사용자 정의 어댑터를 정의한 후 singleItem.getString()
public class SingleItemAdapter extends BaseAdapter{
private ArrayList<SingleItem> m_items= new ArrayList<SingleItem>();
private Context mContext;
public SingleItemAdapter (Context c,ArrayList<SingleItem> items) {
mContext = c;
m_items= items;
}
.
.
.
@Override
public Object getItem(int arg0) {
return m_items.get(arg0);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.singleitemview, null);
}
SingleItem i=(SingleItem) getITem(position)
if(v!=null){
TextView tv=(TextView) v.findViewById(R.id.yourListItemView);
tv.setText(i.getStringValue());
}
}
}
의 값을 할당되어, 당신은 다음 수 이것을 listview에 할당하고 OnItemSelectedListener에 리스너를 지정하십시오. 이렇게하면 위치가 반환되므로 ArrayItem의 ArrayItem에있는 위치로 다시 묶을 수 있습니다.
.
.
.
SingleItemAdapter sia=new SingleItemAdapter(this,yourArray);
yourArrayList.setAdapter(sia);
yourArrayList.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long row) {
SingleItem si= yourArray.getItem(position);
//do something with si.getValue();
}
.
.
.
});
onCLickListener는 전체 목록보기를 선택하기위한 것입니다. 특정 항목에 대한 항목을 반환하려면 OnItemSelectedListener – jkhouw1
oi 나는 downvotes를 사용해야합니다. getView() 함수의 모든 사용자 정의 어댑터에서 1 onClickListener를 사용합니다. 간단히보기의 onClickListener를 설정하고 돌아갑니다. 어댑터의 1 onClickListener(). 이것은 setTag()를 사용하여 객체에 필요한 모든 데이터를 저장할 수 있기 때문에 훌륭합니다. – snctln