对象的类型为category:
public class category implements Serializable { private Long ID; private String name; // constructors // getter & setter // hashCode,equals // toString}
我知道我必须写一个适配器.我怎么做?我试图找一些例子……没有运气.请指教.
解决方法 这是我5美分.我遇到了类似的问题.我正在使用SimpleCursorAdapter,它实现了SpinnerAdapter接口,但只到SDK版本11(AndroID 3.0)才到达.我打算将我的应用程序与SDK 8(AndroID 2.2)一起使用,因此我不得不将SimpleCursorAdapter替换为另一个或我自己的.真正的挑战者是我还为微调器使用了自定义XML布局,并在其中显示了光标的几个字段,即光标适配器.经过大量研究后,这是我的解决方案,而且信息并不容易.以下是名为spin_layout.xml的微调器中使用的布局文件:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:orIEntation="horizontal" ><TextVIEw androID:ID="@+ID/fIEld1" androID:textcolor="#000" androID:gravity="center" androID:layout_wIDth="40dp" androID:layout_height="wrap_content" androID:textSize="24sp" /><TextVIEw androID:ID="@+ID/fIEld2" androID:textcolor="#000" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textSize="24sp" /></linearLayout>
这是适配器实现SpinnerAdapter并扩展(使用作为小帮手)BaseAdapter.最初使用的Cursor被转换为List并在构造函数中传递,并与包含微调器的活动一起传递.
public class MyCursorAdapter extends BaseAdapter implements SpinnerAdapter{ private Activity activity; private List<Buslines> List_bsl; public MyCursorAdapter(Activity activity,List<Buslines> List_bsl){ this.activity = activity; this.List_bsl = List_bsl; } public int getCount() { return List_bsl.size(); } public Object getItem(int position) { return List_bsl.get(position); } public long getItemID(int position) { return List_bsl.get(position).getID(); } public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) { VIEw spinVIEw; if( convertVIEw == null ){ LayoutInflater inflater = activity.getLayoutInflater(); spinVIEw = inflater.inflate(R.layout.spin_layout,null); } else { spinVIEw = convertVIEw; } TextVIEw t1 = (TextVIEw) spinVIEw.findVIEwByID(R.ID.fIEld1); TextVIEw t2 = (TextVIEw) spinVIEw.findVIEwByID(R.ID.fIEld2); t1.setText(String.valueOf(List_bsl.get(position).getline_Num())); t2.setText(List_bsl.get(position).getname()); return spinVIEw; }}
与您在Web上找到的其他解决方案不同,方法getItemID与数据库中的ID字段建立链接,就像SimpleCursorAdapter一样.该ID是onItemSelectedListener中onItemSelected(AdapterVIEw arg0,VIEw arg1,int position,long ID)中为spinner.setonItemSelectedListener传递的参数.方法getVIEw膨胀spin_layout.xml,标识布局中包含的两个视图并为它们赋值(如String!).
总结以上是内存溢出为你收集整理的android – 创建适配器以填充Spinner对象全部内容,希望文章能够帮你解决android – 创建适配器以填充Spinner对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)