ListActivity简单的说就是ListView和Activity的结合,跟ListView和Activity组合实现的没有什么很大的差别,主要是比较方便。但在实现时,有几点要注意。

1、ListActivity可以不用setContentView(R.layout.main),它默认是LIstView占满屏。

2、如果想在屏幕中显示其他控件,如文本框和按钮之类,可以采用如下方法:

a、代码中添加:setContentView(R.layout.main)

b、在 main.xml 文件中,添加一个LIstView控件,和一个 TextView 控件,注意它们 id 必须为"@id/android:list"、          "@id/android:empty";前一个表示匹配的ListView,后一个表示若LIstView没有内容则显示的提示:代码如下:

1)main.xml布局文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <EditText android:id="@+id/et_item" android:layout_width="212px"
            android:layout_height="wrap_content">
        </EditText>
        <Button android:id="@+id/bt_add" android:layout_width="83px"
            android:layout_height="51px" android:text="添加">
        </Button>
    </LinearLayout>
    <ListView android:id="@id/android:list" android:layout_width="fill_parent"
        android:layout_height="0dip" android:layout_weight="1"
        android:drawSelectorOnTop="false" />
    <TextView android:id="@id/android:empty" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="Can not find the file!" />
</LinearLayout>

下面是程序截图和代码:

LIstView Item的布局文件list_item.xml

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content">
    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/ItemImage" />
    <TextView android:layout_height="wrap_content"
        android:textSize="20dip" android:layout_width="fill_parent"
        android:id="@+id/ItemTitle" />
</LinearLayout>

2)代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.myandroid.test;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class ListActivityImpl extends ListActivity {
    private Button bt_add;   
    private EditText et_item;
    private ArrayList<HashMap<String, Object>>   listItems;    //存放文字、图片信息
    private SimpleAdapter listItemAdapter;           //适配器  
    @Override
    public void onCreate(Bundle icicle)   {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        bt_add = (Button)findViewById(R.id.bt_add);
        et_item = (EditText)findViewById(R.id.et_item);
        initListView();
        this.setListAdapter(listItemAdapter); 
        bt_add.setOnClickListener(new ClickEvent());   
    }
    /**
     * 设置适配器内容
     */
    private void initListView()   {  
        listItems = new ArrayList<HashMap<String, Object>>();
        for(int i=0;i<10;i++)    {  
            HashMap<String, Object> map = new HashMap<String, Object>();  
            map.put("ItemTitle", "Music: "+i);    //文字
            map.put("ItemImage", R.drawable.music);   //图片  
            listItems.add(map);  
        }  
        //生成适配器的Item和动态数组对应的元素  
        listItemAdapter = new SimpleAdapter(this,listItems,   // listItems数据源   
                R.layout.list_item,  //ListItem的XML布局实现 
                new String[] {"ItemTitle", "ItemImage"},     //动态数组与ImageItem对应的子项        
                new int[ ] {R.id.ItemTitle, R.id.ItemImage}      //list_item.xml布局文件里面的一个ImageView的ID,一个TextView 的ID 
        );  
    }
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id)  {
        // TODO Auto-generated method stub
        Log.e("position", "" + position);
        setTitle("你点击第"+position+"行");
    
    class ClickEvent implements OnClickListener {
        @Override
        public void onClick (View v)  {
            // 向ListView里添加一项
            HashMap<String, Object> map = new HashMap<String, Object>();  
            map.put("ItemTitle", "Music: "+ et_item.getText().toString());  
            map.put("ItemImage", R.drawable.music);     //每次都放入同样的图片资源ID
            listItems.add(map);
            //重新设置适配器
            ListActivityImpl.this.setListAdapter(listItemAdapter);
        }
    }
}

这里也涉及到ListView的图片、文字添加方式,本程序是一个图片一行文字

Android中ListActivity的使用和在ListView中添加图片文字相关推荐

  1. 浅谈Android中的异步加载之ListView中图片的缓存及优化三

    隔了很久没写博客,现在必须快速脉动回来.今天我还是接着上一个多线程中的异步加载系列中的最后一个使用异步加载实现ListView中的图片缓存及其优化.具体来说这次是一个综合Demo.但是个人觉得里面还算 ...

  2. android listview headerview 分割线,【我的Android进阶之旅】如何去除ListView中Header View、Footer View中的分割线...

    最近的项目中给ListView 加入了一个Header View之后,发现Header View的下方也有了分割线,很难看,UI要求将Header View的分割器去掉,好吧.现在就来说一说如何如何去 ...

  3. delphi listview动态添加图片_Java 添加PDF图章(印章)——图片图章、动态图章

    图章(印章)是一种在合同.票据.公文等文件中表明法律效应.部门机关权威的重要指示物,常见于各种格式的文件.文档中.对于纸质文档可以手动盖章,但对于电子文档,则需要通过特定的方法来实现.本篇文档分享通过 ...

  4. android 两个imageview重叠,android-在现有ListVIew中添加更多项目时,ImageView重叠

    我正在创建一个ListView作为一个TextView和ImageView作为一个列表项行. 最初,我正在从本地数据库的列表视图视图中加载默认项,并且我在列表视图的顶部具有一个更新按钮,以便从服务器中 ...

  5. android cbox listview特效,Android CheckBox和ImageView、Textview在ListView中显示...

    1.首先创建一个适配器类CheckBoxListViewAdapter,此类继承BaseAdapter类: package com.test; import java.util.ArrayList; ...

  6. android之网络请求 -- 获取RecyclerView的列表项(图片 + 文字)

    android之网络请求 -- 获取RecyclerView的列表项 示意图,网络请求的地址,插件及依赖 代码架构 代码内容 MainActivity.java activity_main.xml R ...

  7. android宫格式布局,Android 自定义TextView实现宫格布局,Drawable添加图片并控制宽高...

    上图: 需求: 宫格布局(宽高一致,在屏幕上高度始终更随宽度变化) 图片在上文字在下布局 可以控制图片的宽高 布局完成,废话不多说直接上代码: /** * 时 间 : 2019/7/22 0022 * ...

  8. delphi listview动态添加图片_网站图片如何优化适合收录

    网站制作一年350元,五站合一,快速建站 ,www.sxjcwzjs.com,只需进入网站右上角注册快速建站即可(需要电脑登录注册),需要联系我吧!电话:13752214574,微信号:m107858 ...

  9. android静态动画,LayoutAnimation给ListView中的item设置动态出场效果(实例)

    LayoutAnimation作用于ViewGroup,为ViewGroup指定一个动画,当它的子元素出场时都按照这个动画出场. LayoutAnimation作用于viewgroup有两种方式: 1 ...

  10. Android之ListActivity(一):布局与数据绑定

    Android中的列表,当然也可以用ListView来完成所需要的功能,用法是一样的. 废话不说,来关键的. LiveActivity本身继承了关于List操作的众多接口,我们可以方便的重写这些操作中 ...

最新文章

  1. Bitdefender 服务器版安装程序官方下载
  2. python获取今年第一天_利用python获取某年中每个月的第一天和最后一天
  3. shell去除字符串前所有的0
  4. 《深入理解计算机系统》读书笔记九:寄存器结构
  5. css和js和html代码,网页代码中js和css指的是什么?
  6. 需求管理工具比较 Doors_Requistie Pro_RDM
  7. 拥抱.NET 5,可以从这个极速开发的Web应用框架开始
  8. Python学习笔记:文件读/写方法汇总
  9. golang执行多个linux命令,golang执行系统command
  10. 【Flink】Flink yarn 下报错ClassNotFoundException: org.apache.hadoop.yarn.api.ApplicationConstants$Environ
  11. 产品开发版本的延续性
  12. linux 自学系列:touch 命令
  13. expat 处理xml常用函数名
  14. javascript数据结构——栈
  15. MATLAB和C语言的区别
  16. java代码混淆(使用 ProGuard maven插件)
  17. 圣诞礼物|2020年送这些礼物你就能拥有一个程序员男朋友
  18. java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽
  19. 计算机视觉新手入门学习
  20. 10套苹果CMS模板打包下载/苹果CMS视频影视网站源码下载

热门文章

  1. 关于MCNS/DOCSIS兼容RF接口的RF接口MIB
  2. 遗传算法python简单示例
  3. 感恩节福利:掘金携手异步社区 掘金小册新品发布2017异步社区优秀图书和作译者评选启动...
  4. 抖音矩阵号系统搭建及开发思路分享丨抖音短视频关键词优化
  5. iphone 控制 android手机,新潮来袭:苹果手机控制安卓手机
  6. Java速成系列-02-Java的版本
  7. 微波工程(6)——射频放大器设计
  8. 基于TensorFlow的深度学习 揭示数据隐含的奥秘3 卷积神经网络
  9. git工作流学习记录
  10. 海康sdk java_java调用海康sdk案例