Kategori listesi (Category sınıfı basit bir sınıftır) gösteren bir listview için tanımlanan adapter aşağıdaki gibidir :
import java.util.*; import android.view.*; import android.widget.*; public class CategoryBaseAdapter extends BaseAdapter{ private List<Category> categoryList; public CategoryBaseAdapter(List<Category> categoryList) { this.categoryList=categoryList; } @Override public int getCount() { return categoryList.size(); } @Override public Category getItem(int position) { return categoryList.get(position); } @Override public long getItemId(int position) { return categoryList.get(position).getId(); } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView tv=new TextView(parent.getContext()); tv.setText(categoryList.get(position).getTitle()); return tv; } }
CategoryBaseAdapter sınıfı BaseAdapter'ı extends etmiş ve gerekli method'ları yazılmıtır. Kurucuda kategori listesi alınmıştır. getView fonksiyonunda bir TextView yaratılmış ve değeri kategorinin başlığı (categoryList.get(position).getTitle() ile alınmıştır) yapılmıştır.
Bu adapter aşağıdaki gibi bir listview'e verilebilir :
ListView list=(ListView) findViewById(R.id.listView1); listView.setAdapter(new CategoryBaseAdapter(result));
ListView maddeleri köşeleri yuvarlatılmış bir dikdörtgen olarak gösterilebilir. drawable klasörülerine aşağıdaki gibi bir xml, rounded_corners.xml adıyla eklenir :
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#eeeeee"/> <corners android:radius="5dp" /> <padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" /> <stroke android:width="2dp" android:color="#cccccc"/> </shape>
Liste maddesi TextView ise madde aşağıdaki gibi bu şekil backgroud'a yerleştirilebilir :
TextView tv=... tv.setBackgroundResource(R.drawable.rounded_corners);
Bu işlem tamamlandıktan sonra liste köşeleri yuvarlatılmış olarak görülecektir :
public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)Parameterlerin açıklaması aşağıdaki gibidir :