• android ListView 和 BaseAdapter 应用


    步聚:

    1.建立ListView对象;--(作用:绑定Adapter呈现数据)

    2.建立ListView实现的Item栏位.xml布局;--(作用:实现ListView的栏位布局)

    3.建立Item.xml 的View数据实例(类);--(作用:实现Item栏位数据接口)

    4.继承BaseAdapter建立MyAdapter类class;--(作用:封装ListView的.xml布局与Item数据)

    5.当然还要作更多的操作,这里例出简洁的方法;

    adapter实现:

      1     private class UpdateAdpter extends BaseAdapter {
      2 
      3         private LayoutInflater mInflater;
      4         private List<ItemData> mItemsData;
      5 
      6         public UpdateAdpter(Context context, List<ItemData> listItemData) {
      7             this.mInflater = LayoutInflater.from(context);
      8             this.mItemsData = listItemData;
      9 
     10         }
     11 
     12         @Override
     13         public int getCount() {
     14             // TODO Auto-generated method stub
     15             return mItemsData.size();
     16         }
     17 
     18         @Override
     19         public Object getItem(int position) {
     20             // TODO Auto-generated method stub
     21             return mItemsData.get(position);
     22         }
     23 
     24         @Override
     25         public long getItemId(int position) {
     26             // TODO Auto-generated method stub
     27             return position;
     28         }
     29 
     30         @Override
     31         public View getView(final int position, View convertView,
     32                 ViewGroup parent) {
     33             // TODO Auto-generated method stub
     34             ViewHolder holder;
     35             if (convertView == null) {
     36                 convertView = mInflater.inflate(
     37                         R.layout.activity_account_update_listview_item, null);
     38                 holder = new ViewHolder(convertView);
     39                 convertView.setTag(holder);
     40 
     41             } else {
     42                 holder = (ViewHolder) convertView.getTag();
     43             }
     44             ItemData item = mItemsData.get(position);
     45             holder.title.setText(item.getTitle());
     46             holder.price.setText(item.getPrice());
     47             holder.text.setText(item.getBuyText());
     48             holder.status.setText(item.getStatus());
     49 
     50             return convertView;
     51         }
     52 
     53         public class ViewHolder {
     54             public TextView title;
     55             public TextView price;
     56             public TextView buytext;
     57             public TextView status;
     58 
     59             ViewHolder(View view) {
     60                 title = (TextView) view
     61                         .findViewById(R.id.tv_accountupdateitem_title);
     62                 price = (TextView) view
     63                         .findViewById(R.id.tv_accountupdateitem_price);
     64                 text = (TextView) view
     65                         .findViewById(R.id.tv_accountupdateitem_buytext);
     66                 status = (TextView) view.findViewById(R.id.tv_accountupdate_status);
     67             }
     68         }
     69     }
     70 
     71     private class ItemData {
     72         private String title;//标题
     73         private String price;//价格
     74         private String text;//内容
     75         private String status;//状态
     76 
     77         public void setTitle(String value) {
     78             title = value;
     79         }
     80 
     81         public String getTitle() {
     82             return title;
     83         }
     84 
     85         public void setPrice(String value) {
     86             price = value;
     87         }
     88 
     89         public String getPrice() {
     90             return price;
     91         }
     92 
     93         public void setText(String value) {
     94             buytext = value;
     95         }
     96 
     97         public String getText() {
     98             return buytext;
     99         }
    100         
    101         public void setStatus(String value) {
    102             status = value;
    103         }
    104 
    105         public String getStatus() {
    106             return status;
    107         }        
    108     }

    activity调有实例:

    public class UpdateActivity extends Activity implements OnClickListener{
    private ListView UpdateLView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_account_update);
            iniView();               
        }
    
        public void iniView() {
           UpdateLView = (ListView) findViewById(R.id.account_update_listView);
            iniListViewDataUpdate();//初始listview数据
        }
    
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        }
    
        private void iniListViewDataUpdate(){
            ItemData itemData;
            List<ItemData> listItemData = new ArrayList<ItemData>();
            
            for (int i=0;i<2;i++){
                itemData=  new ItemData();
                itemData.setTitle("title");
                itemData.setPrice("price");
                itemData.setText("text");
                itemData.setStatus("status");
                
                listItemData.add(itemData);
            }
            nowUpdateLView.setAdapter(new UpdateAdpter(this,listItemData)); 
        }

    item.xml;

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:descendantFocusability="blocksDescendants"
        android:gravity="center_vertical" >
    
        <LinearLayout
            android:id="@+id/lyt_roomlistview_item"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="8dp"
                android:background="@android:color/white" >
    
                <TextView
                    android:id="@+id/tv_accountupdateitem_title"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:text="title"
                    android:textSize="18sp" />
    
                <TextView
                    android:id="@+id/tv_accountupdate_status"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="12dp"
                    android:layout_weight="1"
                    android:gravity="left|center"
                    android:text="button"
                    android:textColor="@android:color/holo_orange_dark"
                    android:textSize="16sp" />
    
                <TextView
                    android:id="@+id/tv_accountupdateitem_price"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:text="price"
                    android:textColor="@android:color/holo_orange_dark"
                    android:textSize="16sp" />
    
            </LinearLayout>
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginLeft="8dp"
                android:layout_marginRight="8dp"
                android:background="@android:color/white" >
    
                <TextView
                    android:id="@+id/tv_accountupdateitem_buytext"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center_vertical"
                    android:text="Textview"
                    android:textSize="16sp" />
    
                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="50dp"
                    android:layout_height="30dp"
                    android:layout_gravity="center"
                    android:background="@android:color/holo_orange_dark"
                    android:gravity="center"
                    android:text="@string/title_buy"
                    android:textColor="@android:color/white"
                    android:textSize="16sp" />
    
            </LinearLayout>
    
        </LinearLayout>
    
    </RelativeLayout>

    效果图:

  • 相关阅读:
    SpingBoot myBatis neo4j整合项目案例
    GCC 优化选项 -O1 -O2 -O3 -OS 优先级,-FOMIT-FRAME-POINTER(O3的优化很小,只增加了几条优化而已)
    睡个好觉的 12 条军规(坚持固定睡眠时间表,这一条最重要)
    恐怕你确定自己喜欢做什么(如果一件事能让你沉浸其中、安住当下,过后又不令你后悔,那它就是你喜欢的事:时间就应该拿来赚钱或提升赚钱的能力)
    专家解读:缺芯少人的中国集成电路,亟待打破高校学科壁垒
    你们一定要搞清楚被迫加班和自己弄的差别(被动的人得关节炎,主动的人身体更棒了)
    Linux命令排查线上问题常用的几个
    NFS (网络文件系统)
    查看JVM运行时堆内存
    SQL查询速度
  • 原文地址:https://www.cnblogs.com/jenson138/p/4347916.html
Copyright © 2020-2023  润新知