`
Thomas会Coding
  • 浏览: 96188 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自定义列表

 
阅读更多
public class MainActivity extends Activity {
@Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        //绑定Layout里面的ListView 
        ListView list = (ListView) findViewById(R.id.ListView01); 
         
        //生成动态数组,加入数据 
        ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>(); 
        for(int i=0;i<5;i++) 
        {
        if(i==0){
        HashMap<String, Object> map = new HashMap<String, Object>(); 
                map.put("ItemImage", R.drawable.checked);//图像资源的ID 
                map.put("ItemTitle", "个人信息"); 
                map.put("LastImage", R.drawable.lastimage); 
                listItem.add(map);
        }else if(i==1){
        HashMap<String, Object> map = new HashMap<String, Object>(); 
                map.put("ItemImage", R.drawable.c);//图像资源的ID 
                map.put("ItemTitle", "修改密码"); 
                map.put("LastImage", R.drawable.lastimage); 
                listItem.add(map);
        }else if(i==2){
        HashMap<String, Object> map = new HashMap<String, Object>(); 
                map.put("ItemImage", R.drawable.d);//图像资源的ID 
                map.put("ItemTitle", "网络设置"); 
                map.put("LastImage", R.drawable.lastimage); 
                listItem.add(map);
        }else if(i==3){
        HashMap<String, Object> map = new HashMap<String, Object>(); 
                map.put("ItemImage", R.drawable.d);//图像资源的ID 
                map.put("ItemTitle", "打印设置"); 
                map.put("LastImage", R.drawable.lastimage); 
                listItem.add(map);
        }else{
        HashMap<String, Object> map = new HashMap<String, Object>(); 
                map.put("ItemImage", R.drawable.e);//图像资源的ID 
                map.put("ItemTitle", "返回"); 
                map.put("LastImage", R.drawable.lastimage); 
                listItem.add(map);
        }
            
        } 
        //生成适配器的Item和动态数组对应的元素 
        SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,// 数据源  
            R.layout.list_items,//ListItem的XML实现 
            //动态数组与ImageItem对应的子项         
            new String[] {"ItemImage","ItemTitle", "LastImage"},  
            //ImageItem的XML文件里面的一个ImageView,两个TextView ID 
            new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.last} 
        ); 
        
        //添加并且显示 
        list.setAdapter(listItemAdapter); 
         
        //添加点击 
        list.setOnItemClickListener(new OnItemClickListener() { 
 
            @Override 
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
                    long arg3) { 
                setTitle("点击第"+arg2+"个项目"); 
                if(arg2 == 4){
                MainActivity.this.finish();
                }
            } 
        }); 
         
      //添加长按点击 
        list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 
             
            @Override 
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
                menu.setHeaderTitle("长按菜单-ContextMenu");    
                menu.add(0, 0, 0, "弹出长按菜单0"); 
                menu.add(0, 1, 0, "弹出长按菜单1");    
            }
        });  
    } 
     
    //长按菜单响应函数 
    @Override 
    public boolean onContextItemSelected(MenuItem item) { 
        setTitle("点击了长按菜单里面的第"+item.getItemId()+"个项目");  
        return super.onContextItemSelected(item); 
    }
}

 main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout  
    android:id="@+id/LinearLayout01"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:background="#ffffff" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
<ListView android:layout_width="fill_parent"  
          android:layout_height="wrap_content"  
          android:id="@+id/ListView01" 
          android:divider="@drawable/divider_color"
  android:dividerHeight="3dip"
  android:cacheColorHint="#00000000"
          /> 
</LinearLayout>

 listitem.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout  
    android:id="@+id/RelativeLayout01"  
    android:layout_width="fill_parent"  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_height="wrap_content"  
    android:paddingBottom="4dip"  
    android:paddingLeft="12dip" 
    android:paddingRight="12dip"
    android:background="@drawable/list_bg"> 
<ImageView  
    android:paddingTop="12dip" 
    android:layout_alignParentLeft="true"
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:id="@+id/ItemImage" 
    />  
<TextView  
    android:text="TextView01"  
    android:layout_height="wrap_content"  
    android:layout_marginTop="30px"
    android:textSize="20dip"  
    android:paddingLeft="12dip"
    android:textColor="#000000"
    android:layout_width="fill_parent"  
    android:id="@+id/ItemTitle" 
    android:layout_toRightOf="@+id/ItemImage"
    /> 
<ImageView  
    android:paddingTop="12dip" 
    android:layout_marginTop="20px"
    android:layout_alignParentRight="true"
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:id="@+id/last" 
    /> 
</RelativeLayout> 

 

分享到:
评论

相关推荐

    Android代码-分享一个自定义列表.rar

    在Android开发中,自定义列表是一项常见的任务,它允许开发者根据特定需求定制列表项的显示样式和交互方式。本资源"Android代码-分享一个自定义列表.rar"显然包含了一个关于如何在Android应用中创建自定义列表的示例...

    安卓listview相关相关-分享一个自定义列表.rar

    本资源"安卓listview相关相关-分享一个自定义列表.rar"包含了与ListView自定义相关的实例代码和一些参考资料,帮助开发者深入理解和实践ListView的自定义功能。 首先,ListView的基础使用涉及到Adapter的概念。...

    自定义列表控件仿QQ2010以后好友列表

    1、重新自定义列表,实现列表标题栏和用户列表高度不一样自绘 2、满足原先要求的标题能展开和收起的情况下,给标题增加了用户列表的孩子节点个数显示 3、满足第二级菜单一张图和一串文字的情况下,增加另外一行...

    真正好用的自定义列表

    在Android开发中,自定义列表(Custom ListView)是一种常见的需求,它允许开发者根据特定的UI设计和功能需求来展示数据。标题"真正好用的自定义列表"表明这是一个经过优化,稳定且不会在滚动时崩溃的自定义列表实现...

    自定义列表框,可以屏蔽某些元素

    在IT领域,自定义列表框(Custom List Box)是一种常见的用户界面组件,它允许程序员根据特定需求定制列表的展示方式和交互行为。本主题聚焦于如何创建一个自定义列表框,以便屏蔽或隐藏某些特定元素,同时保持其可...

    实现自定义列表效果

    "实现自定义列表效果"这个话题主要涉及如何利用`UITableView`及其委托方法来创建具有个性化显示效果的列表。 首先,`UITableView`的核心组成部分包括数据源(DataSource)和委托(Delegate)。数据源负责提供列表中...

    vc 包含自定义列表

    在VC++(Visual C++)开发环境中,"包含自定义列表"通常指的是在代码中创建并使用自定义的容器类,这些容器类可以模仿或扩展STL(标准模板库)中的容器,如vector、list、set等。STL提供了一组高效且功能强大的模板...

    symbian 最简单的自定义列表框

    在Symbian操作系统中,创建一个自定义列表框是实现用户界面交互的重要步骤。自定义列表框允许开发者根据特定需求定制列表项的显示样式、功能和行为,为用户提供更加丰富的用户体验。下面我们将深入探讨如何在Symbian...

    自定义列表控件实现(vc源码)

    在VC++编程中,自定义列表控件是一种常见的需求,特别是在开发用户界面丰富的应用程序时。本文将深入探讨如何在Visual C++环境下实现自定义列表控件,并基于提供的"自定义列表控件实现(vc源码)"进行讲解。 首先,...

    一个可折叠的VC++自定义列表控件

    一个可折叠的VC++自定义列表控件 一款VC++自定义的列表控件,可以展开、折叠。  WINDOWS应用程序的创建一般都需要使用控件,像VB、DELPHI等编程环境都提供了相当多的控件供程序员调用,这些控件基本上能满足程序...

    帝国CMS自定义列表的使用实例

    在帝国CMS中,自定义列表是一项实用的功能,允许用户根据特定的SQL查询条件来动态生成和展示信息列表,极大地增强了系统灵活性和可定制性。本文将深入探讨帝国CMS自定义列表的使用方法和实例。 首先,我们来看如何...

    Android自定义列表,可双向滚动

    在Android开发中,自定义列表是一项常见的需求,特别是在构建用户界面时。"Android自定义列表,可双向滚动"这个主题涉及到的是如何创建一个不仅能在垂直方向上滚动,还能在水平方向上滑动的列表组件。这通常需要...

    swift-iOS各种效果的分段选择和下拉列表二级下拉列表可自定义列表样式

    本项目“swift-iOS各种效果的分段选择和下拉列表二级下拉列表可自定义列表样式”专注于探讨如何在Swift中实现这些交互效果,特别是针对自定义列表样式的高级应用场景。 首先,分段控制器是iOS界面设计中常用的一种...

    Android高级应用源码-分享一个自定义列表.zip

    在Android开发中,自定义列表视图是一种常见的需求,它能提供更为丰富的用户交互和界面展示。本资源“Android高级应用源码-分享一个自定义列表.zip”显然包含了一个关于如何在Android应用中实现自定义列表的实例。...

    WP8.1 自定义列表ListView

    标题“WP8.1 自定义列表ListView”暗示我们将探讨如何在Windows Phone 8.1应用中创建一个具有个性化的ListView。这通常涉及到对默认模板的修改,添加额外的UI元素,以及可能的自定义逻辑来处理用户交互。 描述中...

    简单且可自定义列表功能的在线Html编辑器

    "简单且可自定义列表功能的在线Html编辑器"就是这样一个工具,它的设计目标是为轻量级用户提供便利,同时提供了高度的定制性。 首先,让我们来探讨一下这个编辑器的“简单”特性。简单意味着它易于使用,界面直观,...

    自定义列表选择Dialog,适用网络请求数据源码

    在这个特定的源码项目中,"自定义列表选择Dialog,适用网络请求数据源码"提供了一种方式,允许开发者在Dialog中展示从网络请求的数据,并让用户从中进行选择。 首先,我们要理解这个源码的核心概念:自定义Dialog。...

    火山安卓netdb中间件自定义列表读数据库.rar

    NetDB中间件提供了丰富的API接口,支持自定义列表读取数据库功能,使得开发者能够更加灵活地管理与查询数据库中的数据。 在Android应用开发中,SQLite是最常见的内置数据库系统,用于存储和检索应用数据。然而,...

    安卓Dialog对话框相关-自定义列表选择Dialog适用网络请求数据.rar

    在"安卓Dialog对话框相关-自定义列表选择Dialog适用网络请求数据.rar"这个案例中,我们可能需要实现一个包含可选列表的Dialog,列表的数据来源可能是网络。这里涉及到了两个关键点:自定义ListView和网络数据加载。 ...

Global site tag (gtag.js) - Google Analytics