基本的listView用法

原创 2015年11月18日 09:02:25

1.布局

<RelativeLayout
    android:id="@+id/call_service_data_list"
    android:layout_alignParentBottom="true"
    android:layout_width="fill_parent"
    android:layout_height="150sp">
    <TextView
        android:id="@+id/call_server_item_text"
        android:layout_width="fill_parent"
        android:paddingTop="3dp"
        android:paddingLeft="3dp"
        android:layout_height="wrap_content"
        android:textSize="@dimen/textsize_28"
        android:text="已完成服务"/>
    <ImageView
        android:id="@+id/divider_line"
        android:layout_below="@+id/call_server_item_text"
        android:layout_width="fill_parent"
        android:padding="3dp"
        android:layout_height="0.1dp"
        android:background="#99CC33"
        />
    <ListView
        android:layout_below="@+id/divider_line"
        android:id="@+id/service_listview"
        android:layout_width="fill_parent"
        android:divider="#99CC33"
        android:dividerHeight="0.1dp"
        android:layout_height="130sp"
         />
</RelativeLayout>
2.listitem

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <RelativeLayout
        android:id="@+id/call_server_item_content"
        android:layout_alignParentBottom="true"
        android:paddingTop="3dp"
        android:layout_width="fill_parent"
        android:layout_height="40dp">
        <TextView
            android:id="@+id/service_contnt"
            android:layout_centerVertical="true"
            android:paddingLeft="3dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="@dimen/textsize_30"
            android:textColor="@color/black"
            />
        <TextView
            android:id="@+id/finish_time"
            android:layout_centerVertical="true"
            android:paddingRight="3dp"
            android:layout_alignParentRight="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="@dimen/textsize_30"
            android:textColor="@color/black"
            />
    </RelativeLayout>

</RelativeLayout>

3.Activity

package com.android.hotelcontrol.callService;

public class CallServiceActivity extends Activity {
   private static ListView lv;
   private SimpleAdapter adapter;
   private Button requestBtn;
   private PopupWindow mPopupWindow;
   // 屏幕的width
   private int mScreenWidth;
   // 屏幕的height
   private int mScreenHeight;
   // PopupWindowwidth
   private int mPopupWindowWidth;
   // PopupWindowheight
   private int mPopupWindowHeight;
   @Override
   public void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_call_service);
      lv = (ListView) findViewById(R.id.service_listview);
      adapter = new SimpleAdapter(this,Servicedata(),R.layout.call_service_list_item,new String[]{"content","time"},new int[]{R.id.service_contnt,R.id.finish_time});
      lv.setAdapter(adapter);
      requestBtn = (Button) findViewById(R.id.send_call_requset);
   }

   // demo 静态数据
   private static List<Map<String,String>> Servicedata(){
      List<Map<String , String>> datalist = new ArrayList<Map<String , String>>();

      Map<String , String> map = new HashMap<>();
      map.put("content","需:鸡尾酒X1");
      map.put("time","2015/11/16 11:55");
      datalist.add(map);

      Map<String , String> map1 = new HashMap<>();
      map1.put("content", "需:雨伞X1");
      map1.put("time", "2015/11/14 11:23");
      datalist.add(map1);

      Map<String , String> map3 = new HashMap<>();
      map3.put("content","需:人工服务");
      map3.put("time", "2015/11/10 11:44");
      datalist.add(map3);
      return datalist;

   }

   public void onClick(View v){
      switch (v.getId()) {
         case R.id.send_call_requset:
            this.requestBtn.setVisibility(View.GONE);
            getPopupWindowInstance();
            mPopupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);
            break;
         case R.id.return_main_interface:
            finish();
         default:
            break;
      }


   }

   /*
     * 获取PopupWindow实例
     */
   private void getPopupWindowInstance() {
      if (null != mPopupWindow) {
         mPopupWindow.dismiss();
         return;
      } else {
         initPopuptWindow();
      }
   }

   /*
     * 创建PopupWindow
     */
   private void initPopuptWindow() {
      LayoutInflater layoutInflater = LayoutInflater.from(this);
      View popupWindow = layoutInflater.inflate(R.layout.popup_window, null);
      final float scale = this.getResources().getDisplayMetrics().density;
      Log.d("PopupWindowDemo", "scale" + scale);
      //dp转化为像素
      int height =(int)(scale*260+0.5f);
      Log.d("PopupWindowDemo","弹出窗的高度为"+height);

      // 获取屏幕和PopupWindowwidthheight
      mScreenWidth = getWindowManager().getDefaultDisplay().getWidth();
      mScreenHeight = getWindowManager().getDefaultDisplay().getHeight();
      // 创建一个PopupWindow
      // 参数1contentView 指定PopupWindow的内容
      // 参数2width 指定PopupWindowwidth
      // 参数3height 指定PopupWindowheight
      mPopupWindow = new PopupWindow(popupWindow, mScreenWidth, height);
      mPopupWindowWidth = mPopupWindow.getWidth();
      mPopupWindowHeight = mPopupWindow.getHeight();
   }


}

相关文章推荐

ListView基本用法及适配器介绍

ListView基本用法ListView常用属性 1.android:divider=”” 列表之间绘制的颜色或者图片。一般开发中用于分隔表项。在实际开发过程中,如果你不想要列表之间的分割线,...

Delphi ListView基本用法大全

Delphi ListView基本用法大全2007-12-10 19:57//增加项或列(字段)ListView1.Clear;ListView1.Columns.Clear;ListView1.Co...

Delphi7 listview基本用法大全

//增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; ListView1.Columns...

[Delphi]ListView基本用法大全

原文地址:http://www.cnblogs.com/huhu0013/archive/2010/10/22/1858309.html //增加项或列(字段) ListView1.Clear; ...

ListView用法大全

  • 2015年03月07日 18:10
  • 23KB
  • 下载

C# ListView用法详解

  • 2016年01月12日 12:41
  • 295KB
  • 下载

listview用法小结(1)

1.添加表头 ColumnHeader header1 = new ColumnHeader(); header1.Width = 100; //列标...

ListView用法大集合

  • 2011年11月04日 23:00
  • 77KB
  • 下载

listview用法汇总

  • 2016年01月06日 10:58
  • 12.43MB
  • 下载

Android实战简易教程<五>(ListView用法研究)

Android用的最多的,也最难用的应该就是ListView了,下面我们研究一下它的用法。 一、最简单的ListView 我们简单介绍一下ListView的最简单用法,不用布局文件: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基本的listView用法
举报原因:
原因补充:

(最多只允许输入30个字)