Android自定义适配器使用(Adapter)

 

  1.  
  2.  
  3. Android自定义适配器使用(Adaper
  4.  
  5. 这是和Activity对应的布局文件,包含ListView,名字:showmenu.xml
  6. <</span>RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  7.     android:layout_width="fill_parent"
  8.     android:layout_height="fill_parent"
  9.     android:background="#86818181"
  10.     android:layout_marginLeft="0dp"
  11.     android:layout_marginRight="0dp"
  12.      >
  13.     <</span>RelativeLayout
  14.         android:layout_width="@dimen/view_200padd"
  15.         android:layout_height="wrap_content"
  16.         android:layout_alignParentRight="true"
  17.         android:background="@drawable/listviewbg"
  18.         android:padding="@dimen/view_4padd"
  19.        >
  20.         <</span>ListView
  21.         android:id="@+id/menuListShow"
  22.         android:layout_marginTop="@dimen/view_15padd"
  23.         android:layout_width="fill_parent"
  24.         android:layout_height="wrap_content"
  25.         android:layout_alignParentRight="true"
  26.        android:footerDividersEnabled="true"
  27.        android:dividerHeight="1px"
  28.         >
  29.     </</span>ListView>
  30.     </</span>RelativeLayout>
  31. </</span>RelativeLayout>
  32.  
  33.  
  34. 这是每个Item对应的布局文件,它里面可以包含多个自己需要放置的组件,名字:itemvo_item.xml
  35.  
  36. <</span>RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  37.     android:layout_width="fill_parent"
  38.     android:layout_height="@dimen/view_65padd"
  39.     android:descendantFocusability="blocksDescendants">
  40.     <</span>ImageView
  41.         android:id="@+id/imgIcon"
  42.         android:layout_width="wrap_content"
  43.         android:layout_height="wrap_content"
  44.         android:layout_alignParentLeft="true"
  45.         android:layout_centerVertical="true"
  46.         android:layout_marginLeft="@dimen/view_6padd"/>
  47.     <</span>TextView
  48.         android:id="@+id/itemName"
  49.         android:layout_width="wrap_content"
  50.         android:layout_height="wrap_content"
  51.         android:layout_toRightOf="@id/imgIcon"
  52.         android:layout_marginLeft="@dimen/view_10padd"
  53.         android:layout_centerVertical="true"
  54.         android:textColor="@color/widht"
  55.         android:textSize="@dimen/view_18padd"/>
  56.    <</span>ImageView
  57.         android:id="@+id/rigthimg"
  58.         android:layout_width="wrap_content"
  59.         android:layout_height="wrap_content"
  60.         android:layout_alignParentRight="true"
  61.         android:layout_marginRight="@dimen/view_6padd"
  62.         android:layout_centerVertical="true"/>
  63. </</span>RelativeLayout>
  64.  
  65.  
  66. 这是和itemvo_item.xml对应的对象,当然也可以是其他集合,数组,只要能给布局文件提供数据,什么都行,名字:Itemvo
  67.  
  68.  
  69. import java.util.ArrayList;
  70. import java.util.List;
  71.  
  72. import com.sake.base.R;
  73.  
  74. public class Itemvo {
  75. private int iconid;//显示的图标
  76. private String strView;//显示的文字
  77. private int lasticon;//最后的图片或图标
  78. public int getIconid() {
  79.          return iconid;
  80. }
  81. public void setIconid(int iconid) {
  82.          this.iconid = iconid;
  83. }
  84. public String getStrView() {
  85.          return strView;
  86. }
  87. public void setStrView(String strView) {
  88.          this.strView = strView;
  89. }
  90. public int getLasticon() {
  91.          return lasticon;
  92. }
  93. public void setLasticon(int lasticon) {
  94.          this.lasticon = lasticon;
  95. }
  96.  
  97. public List getMenuItem(){
  98.             List lists=new ArrayList();
  99.             Itemvo vo=new Itemvo();
  100.        vo.setIconid(R.drawable.saomiao);
  101.        vo.setStrView("扫一扫");
  102.        vo.setLasticon(R.drawable.right_flag);
  103.        lists.add(vo);
  104.       
  105.        Itemvo vo2=new Itemvo();
  106.        vo2.setIconid(R.drawable.neworder);
  107.        vo2.setStrView("新建订单");
  108.        vo2.setLasticon(R.drawable.right_flag);
  109.        lists.add(vo2);
  110.        return lists;
  111. }
  112. }
  113.  
  114. 这是最终的适配器类,传递参数进行封装,就可以使用了,名字:MenuAdaptor
  115.  
  116. import java.util.List;
  117.  
  118. import android.content.Context;
  119. import android.view.LayoutInflater;
  120. import android.view.View;
  121. import android.view.ViewGroup;
  122. import android.widget.BaseAdapter;
  123. import android.widget.ImageView;
  124. import android.widget.TextView;
  125.  
  126. import com.sake.base.R;
  127. import com.sake.vo.Itemvo;
  128.  
  129. public class MenuAdaptor extends BaseAdapter{
  130.          ListlistItemvos;
  131.          Context context;
  132.          public MenuAdaptor(List listItemvos, Context context) {
  133.                    super();
  134.                    this.listItemvos = listItemvos;
  135.                    this.context = context;
  136.          }
  137.  
  138.          @Override
  139.          public int getCount() {
  140.                    // TODO Auto-generated method stub
  141.                    return listItemvos.size();
  142.          }
  143.  
  144.          @Override
  145.          public Object getItem(int arg0) {
  146.                    return listItemvos.get(arg0);
  147.          }
  148.  
  149.          @Override
  150.          public long getItemId(int arg0) {
  151.                    return arg0;
  152.          }
  153.  
  154.          @Override
  155.          public View getView(int arg0, View arg1, ViewGroup arg2) {
  156.                    LayoutInflater inflater=LayoutInflater.from(context);
  157.                    View view=inflater.inflate(R.layout.itemvo_item, null);
  158.                    ImageView imgIcon=(ImageView) view.findViewById(R.id.imgIcon);
  159.                    TextView itemName=(TextView) view.findViewById(R.id.itemName);
  160.                    ImageView rigthimg=(ImageView) view.findViewById(R.id.rigthimg);
  161.                    imgIcon.setImageResource(listItemvos.get(arg0).getIconid());
  162.                    itemName.setText(listItemvos.get(arg0).getStrView());
  163.                    rigthimg.setImageResource(listItemvos.get(arg0).getLasticon());
  164.                    return view;
  165.          }
  166. }
  167.  
  168.  
  169. 如何使用,看这里:
  170. Itemvo item=new Itemvo();
  171.         ListView listv=(ListView) customView.findViewById(R.id.menuListShow);
  172.         listv.setFocusable(true);
  173.         //初始化菜单
  174.         listv.setAdapter(new MenuAdaptor(item.getMenuItem(), OrderMsg_C.this));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值