티스토리 뷰
리스트뷰란? 항목들을 수직으로 펼쳐서 보여주는 위젯
안드로이드에서 제공하는 항목들
리소스 ID | 설명 |
Simple_list_item_1 |
하나의 텍스트 뷰로 구성된 레이아웃 |
Simple_list_item_2 |
두 개의 텍스트 뷰로 구성된 레이아웃 |
Simple_list_item_checked | 오른쪽에 체크 표시가 나타난다. |
Simple_list_item_single_choice | 오른쪽에 라디오 버튼이 나타난다. |
Simple_lsit_item_multiple_choice | 오른쪽에 체크 버튼이 나타난다. |
위의 기본 레이아웃은 보기 좋지 않다. 항목마다 원하는 위젯을 추가하기위해서는 다음 방법을 사용하자.
MainActivity.java
public class MainActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayList<Drink> Drinks_Array = new ArrayList<Drink>(); Drinks_Array.add(new Drink("CAS...")); Drinks_Array.add(new Drink("HI...")); myDrinkAdapter adapter = new myDrinkAdapter(this, R.layout.row, Drinks_Array); setListAdapter(adapter); } private class myDrinkAdapter extends ArrayAdapter<Drink> { private ArrayList<Drink> items; private int layout; public myDrinkAdapter(Context context, int textViewResourceId, ArrayList<Drink> items) { super(context, textViewResourceId, items); this.items = items; layout = textViewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = vi.inflate(layout, null); } Drink p = items.get(position); TextView drink_name = (TextView) convertView.findViewById(R.id.name); drink_name.setText(p.getName()); return convertView; } } class Drink { private String name; public Drink(String name) { this.name = name; } public String getName() { return name; } } }
activity_main.xml
row.xml
위 예시를 실행하면 리스트항목이 나타날 것이다. 이때, 한 리스트항목에 이미지나, 텍스트를 더 추가하고싶다면, row.xml을 수정하고, Drink class에 변수를 더 추가하면 리스트 한칸에 여러 항목을 배치시킬 수 있다.
TIP) ArrayAdapter말고도 BaseAdapter, SimpleCursorAdapter, ... 등 다양한 방법으로 리스트뷰를 자신이 원하는 스타일로 바꿀 수 있다.
'Language > Android' 카테고리의 다른 글
[Android] 인터넷상태확인 (0) | 2013.04.16 |
---|---|
[Android] 해상도구하기 (0) | 2013.04.16 |
[Android] 로딩화면구현하기 (0) | 2013.04.16 |
[Android] SharedPreference란 (2) | 2013.04.16 |
[Android] 외부폰트적용 (0) | 2013.04.14 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday