当前位置: 首页 > news >正文

网站建设实训教程/互联网项目推广

网站建设实训教程,互联网项目推广,安徽公司网站建设,广州市网络优化推广企业文章目录ListView效果展示布局适配器(Adapter)参考ListView 效果展示 就是这么一个效果,以列表形式展示图片文字和网址,当点击列表时,主标题会展示对应的网址。 布局 可以将ListView看成一个容器,里面的…

文章目录

  • ListView
    • 效果展示
    • 布局
    • 适配器(Adapter)
  • 参考

ListView

效果展示

在这里插入图片描述
就是这么一个效果,以列表形式展示图片文字和网址,当点击列表时,主标题会展示对应的网址。

布局

可以将ListView看成一个容器,里面的每个元素都需要一个新的布局。
主界面放个ListView即可

    <ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent" />

然后我们需要给里面的元素也创建一个布局文件,这里面的布局就和我们先前展示的结果是一致的。
取名为listitem.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:id="@+id/l1"android:layout_width="wrap_content"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/img"android:layout_width="50dp"android:layout_height="50dp"android:src="@drawable/tb_baidu"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:id="@+id/l2"><TextViewandroid:id="@+id/title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="百度"android:textSize="20sp"/><TextViewandroid:id="@+id/info"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="http://www.baidu.com"android:textSize="20sp"/></LinearLayout></LinearLayout></LinearLayout>

可以看一下效果:
在这里插入图片描述
这就是一个listitem的布局(填充了图片和文字,可以修改成自己的图片和文字)
这样ListView的布局就完成了,相当于壳已经搭好了,现在需要实现内部的支撑了。

适配器(Adapter)

简单来说适配器就是为了绑定视图和数据吧。

SimpleAdapter(context, data, resource, from, to);
context:上下文(一般this即可)data:需要展示的数据源,是map组成的list集合,每个Map对应ListView中的一行,每一个Map(键——值对)中的键名必须包含在from中所指定的键;resource:展示的布局文件,可以自己在layout设置xml文件去设置需要展示 的样式;from:Map中的键名;to:绑定数据视图的ID,与from成对应的关系。

接下来配置一下我们需要的适配器。
首先需要先找到我们我们的ListView:

SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.listitem,new String[]{"img", "title", "info"},new int[]{R.id.img, R.id.title, R.id.info});

其中getData()是一个返回map类型的list数组数据的方法。

R.layout.listitem是我们定义的列表元素的布局。

new String[]{“img”, “title”, “info”}是我们定义getData()返回数据的map里的键。

new int[]{R.id.img, R.id.title, R.id.info}则是listitem里的视图id,同时与from成对应关系。

此时我们写一个getData()来返回我们需要的数据:

private List<Map<String,Object>> getData() {ArrayList<Map<String, Object>> listItem = new ArrayList<Map<String, Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("img", R.drawable.tb_baidu);map.put("title", "百度");map.put("info", "baidu.com");listItem.add(map);map = new HashMap<String, Object>();map.put("img", R.drawable.tb_netease);map.put("title", "网易");map.put("info", "www.163.com");listItem.add(map);map = new HashMap<String, Object>();map.put("img", R.drawable.tb_sina);map.put("title", "新浪");map.put("info", "www.sina.com");listItem.add(map);map = new HashMap<String, Object>();map.put("img", R.drawable.tb_tencent);map.put("title", "腾讯");map.put("info", "www.tencent.com");listItem.add(map);return listItem;
}

上课老师就这么演示的,简单粗暴,毕竟数据量少,就这样吧。

此时我们的Adapter就定义完成了。

接下来绑定到ListView上就行了。

那么首先我们需要先找到ListView:

ListView listView = findViewById(R.id.lv);

然后添加适配器:

listView.setAdapter(adapter);

这样就能出现我们需要的视图的结果了。

但是还需要点击响应事件,最后我们就设置一下响应事件就行:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {Map<String, Object> map = (Map<String, Object>)parent.getItemAtPosition(position);setTitle(map.get("title").toString() + "的网址为:"+ map.get("info").toString());}
});

至此,效果就达成了。
完整代码:Android移动应用开发之ListView的简单使用2

参考

老师上课讲的案例
SimpleAdapter用法

http://www.lbrq.cn/news/1052335.html

相关文章:

  • 深圳做电商平台网站/网站黄页推广软件
  • 企业网站的设计/如何提高网站的搜索排名
  • 贵阳网站建设服务公司/谷歌自然排名优化
  • 泰兴网站建设价格/久久seo正规吗
  • 开发手机网站用什么语言/网页广告调词平台多少钱
  • 设置网站建设/开发app需要多少资金
  • 1个人做多网站负责人/百度小说风云榜排名完结
  • 网站增加外链方法/seo网络推广排名
  • 建立网站预算/培训心得模板
  • 网络页面设计公司/seo实战密码第三版pdf
  • 做产地证的网站/seo关键词排名查询
  • 取消网站备案流程/无锡百度推广开户
  • 成都网销网站/镇江网站建设
  • 网站的流程/网页制作代码html制作一个网页
  • 视频网站做视频容易火/电商网站卷烟订货流程
  • 宿州市做网站的公司/设计网络推广方案
  • 如何更好的建设和维护网站/信息流优化师
  • 外贸流程的基本流程/六盘水seo
  • 做网站都要掌握什么软件/企业网站设计毕业论文
  • seo工具优化/seo提供服务
  • 网站建设 banner/宁波seo公司推荐
  • 水利建设经济定额站网站/公司优化是什么意思
  • 合肥企业网站建设/深圳网络推广公司哪家好
  • 如何做推广最有效果/长沙企业关键词优化哪家好
  • 银川做网站服务/网络营销站点推广的方法
  • 高校网站建设滞后/百度网站排名优化软件
  • 网上花店 网站源代码/个人接外包项目平台
  • 吉安公司做网站/制作网页模板
  • 黄骅做网站价格/广告咨询
  • 公司后台网站怎么做/口碑营销公司
  • 人工智能技术发展历史演变
  • 【Python 语法糖小火锅 · 第 3 涮】
  • ImageJ 实用技巧:通过 Overlay 实现图像透明标记的完整教程
  • 【n8n】学习n8n【10】:Github的项目n8n-workflows:本地安装2,053 个 n8n 工作流程集合:随时看随时抄/学习~
  • Linux运维新手的修炼手扎之第26天
  • C++安全异常设计