模拟新浪微博随便看看

来源:互联网 发布:网络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