模拟新浪微博随便看看
来源:互联网 发布:网络ftp 编辑:程序博客网 时间:2024/04/30 04:55
导语:这几天学会了ListView组件,这个组件真的很有用。希望在今后的开发中能大量用到。
通过ListView的学习,模拟了新浪微博的随便看看页面。
1) 掌握ListView 控件的使用
2) 理解Adapter 的作用并掌握自定义FruitAdapter 的使用方式
结果图:
代码如下:
MainActivity.java
<span style="font-size:14px;">package cn.bzu.listview03;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.AdapterView.OnItemClickListener;import android.widget.Toast;//第一步:extends Activitypublic class MainActivity extends Activity {// 第二步:定义数据集合List<Map<String, ?>> data; ListView listView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);data = getData();// 第三步:创建SimpleAdapter绑定数据SimpleAdapter adapter = new SimpleAdapter(this, data,R.layout.list_item, new String[] { "photo", "name", "publish","content" }, new int[] { R.id.photo, R.id.name,R.id.publish, R.id.content });listView=(ListView) this.findViewById(R.id.listView);listView.setAdapter(adapter);listView.setOnItemClickListener(new ListClickHandler());}//第四步:添加单击事件private class ListClickHandler implements OnItemClickListener{@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int position,long id) {Map<String, String> item=(Map<String, String>) data.get(position);Toast.makeText(MainActivity.this, item.get("name").toString(), Toast.LENGTH_LONG).show();}}private List<Map<String, ?>> getData() {List<Map<String, ?>> data = new ArrayList<Map<String, ?>>();Map<String, Object> item = new HashMap<String, Object>();item.put("photo", R.drawable.p1);item.put("name", "想想");item.put("publish", "1分钟前");item.put("content", "正在学习AndroidListView,嘎嘎嘎嘎嘎嘎嘎嘎嘎");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p2);item.put("name", "嘻嘻");item.put("publish", "10分钟前");item.put("content", "今天真高兴啊!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p3);item.put("name", "米粒");item.put("publish", "5分钟前");item.put("content", "今天糗大了!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p4);item.put("name", "丽丽");item.put("publish", "1分钟前");item.put("content", "今天遇到一件好玩的事情!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p5);item.put("name", "西西");item.put("publish", "2分钟前");item.put("content", "今天天气真好哈!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p6);item.put("name", "露露");item.put("publish", "10分钟前");item.put("content", "今天真高兴啊!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p7);item.put("name", "美美");item.put("publish", "2分钟前");item.put("content", "今天真高兴啊!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p8);item.put("name", "晕晕");item.put("publish", "5分钟前");item.put("content", "今天真高兴啊!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p9);item.put("name", "嘻嘻");item.put("publish", "4分钟前");item.put("content", "今天真高兴啊!");data.add(item);item = new HashMap<String, Object>();item.put("photo", R.drawable.p10);item.put("name", "嘻嘻");item.put("publish", "1分钟前");item.put("content", "今天真高兴啊!");data.add(item);return data;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}</span>
activity_main.xml
<span style="font-size:14px;"><?xml version="1.0"?>-<LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"><ListView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/listView"/></LinearLayout></span>
list_item.xml
<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>-<LinearLayout android:orientation="horizontal" android:layout_height="fill_parent" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"><!-- 左边图片 --><ImageView android:layout_height="48dp" android:layout_width="48dp" android:padding="10dp" android:id="@+id/photo"/><!-- 右边布局 -->-<LinearLayout android:orientation="vertical" android:layout_height="wrap_content" android:layout_width="fill_parent"><!-- 上边布局 -->-<LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent"><!-- 发布人 --><TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/name"/><!-- 发布时间 --><TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/publish" android:gravity="right"/></LinearLayout><!-- 下边发布内容 --><TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/content"/></LinearLayout></LinearLayout></span>
strings
<span style="font-size:14px;"><?xml version="1.0"?>-<resources><string name="app_name">ListView03</string><string name="hello_world">Hello world!</string><string name="menu_settings">Settings</string><string name="title_activity_main">新浪微博——随便看看</string></resources>mytitlebar<?xml version="1.0" encoding="UTF-8"?>-<resources xmlns:android="http://schemas.android.com/apk/res/android">-<style name="myTitleBg"><item name="android:background">#FF0000</item></style>-<style name="myTheme" parent="android:Theme"><item name="android:windowNoTitle">false</item><item name="android:windowTitleSize">30dp</item><item name="android:background">#FF0000</item><item name="android:windowTitleBackgroundStyle">@style/myTitleBg</item></style></resources></span>
0 0
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看
- 模拟新浪微博-随便看看
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看栏目
- 模拟新浪微博随便看看
- 模拟新浪微博随便看看栏目
- 算法导论 14章 数据结构的扩张
- Android之官方导航栏ActionBar
- 获取本机IP
- Wireshark图解教程(简介、抓包、过滤器)
- 常见的baas服务商
- 模拟新浪微博随便看看
- Android编写微博评论
- JAVA读取WORD,EXCEL,PDF,TXT,RTF,HTML文件文本内容的方法示例
- 【AmazeUI】页脚
- hdu5093 二分图的最大匹配
- 第九周 项目2-Time类中的运算符重载(1)
- 5,13 通过% / 求原数
- Time类中的运算符重载(续)
- 利用函数CS_BI_BOM_CREATE_BATCH_INPUT1 开发BOM批导程序