1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class PersonAdapter extends ArrayAdapter<Person>{ //BaseAdapter가 리스트뷰의 어뎁터가 되기 위한 기본 부모클래스이지만 //관리하는 데이터가 배열에 특화되있는 어레이어뎁터를 상속받는게 작업이 쉽다. private Context context; private int resource; private List<Person> personList; public PersonAdapter(Context context, int resource, List<Person> objects) { super(context, resource, objects); // TODO Auto-generated constructor stub this.context = context; this.resource = resource; this.personList = objects; } } | cs |
1 2 | //BaseAdapter는 추상클래스, 어뎁터로서의 동작에 대한 템플릿은 구현되 있지만 //getView, getItem, getItemPosition등등.. 핵심동작은 사용자가 상속받아서 정의해야됨 | cs |
ArrayAdapter는 바로 사용가능한 완성폼
getView만 우리 뷰에 맞게 재정의하면됨
1 2 3 4 5 6 7 8 9 10 11 | @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub // return super.getView(position, convertView, parent); if(convertView == null) { LayoutInflater inflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(resource, parent, false); } return convertView; } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | callIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + person.getPhoneNum())); //<uses-permission android:name="android.permission.CALL_PHONE"/> //manifest에서 권한추가 context.startActivity(intent); 전화걸기 } }); smsIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { 문자 창으로 가기 // TODO Auto-generated method stub Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.putExtra("address", person.getPhoneNum());//받는사람 sendIntent.setType("vnd.android-dir/mms-sms"); context.startActivity(sendIntent); } }); | cs |
' IOT 기반 응용 SW과정 > Android, Arduino' 카테고리의 다른 글
Day98 안드로이드 db Select문 (0) | 2016.08.05 |
---|---|
Day97 (0) | 2016.08.04 |
Day94 안드로이드 listview (0) | 2016.08.02 |
Day93 AlertDialog (0) | 2016.07.29 |
Day92 (0) | 2016.07.28 |