Android中用SimpleAdapter模拟实现新浪微博

来源:互联网 发布:程序员的自我修养 知乎 编辑:程序博客网 时间:2024/06/02 16:51

一、可以在Android中用SimpleAdapter模拟实现新浪微博的显示页面,程序的运行结果如下

二、具体的步骤如下

(1)、创建一个Android项目
(2)、在layout文件夹中新建一个xml文件,命名为list_item
(3)、将图片拷贝到drawable文件夹下
(4)、将ImageView拖入布局中并选择一幅图片,调整图片的大小
(5)、再放入一个MediumText,用于显示姓名
(6)、放入一个TextView,用于显示时间
(7)、放入一个TextView用于显示内容
(8)、在MainActivity.java中实现样式列表 

三、具体的代码实现如下

package abc.edu.simulatesina;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.app.ListActivity;import android.view.Menu;import android.widget.SimpleAdapter;//继承ListActivitypublic class MainActivity extends ListActivity {// 定义数据源List<Map<String, ?>> data;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// setContentView(R.layout.activity_main);getData();SimpleAdapter adapter = new SimpleAdapter(this, data,R.layout.list_item, new String[] { "name", "photo", "publish","content" }, new int[] { R.id.name, R.id.photo,R.id.publish, R.id.content });// 将ListView和SimpleAdapter绑定setListAdapter(adapter);}private void getData() {data = new ArrayList<Map<String, ?>>();Map<String, Object> item = new HashMap<String, Object>();item = new HashMap<String, Object>();item.put("name", "飞鸟");item.put("photo", R.drawable.p1);item.put("publish", "1分钟前");item.put("content", "今天天气很好和同学一起去了\n公园,很开心!");data.add(item);item = new HashMap<String, Object>();item.put("name", "龙虾");item.put("photo", R.drawable.p2);item.put("publish", "1分钟前");item.put("content", "今天上Android课,学了选项卡的切换,\n很有意思,一定要好好学!");data.add(item);item = new HashMap<String, Object>();item.put("name", "猪猪");item.put("photo", R.drawable.p3);item.put("publish", "1分钟前");item.put("content", "和朋友一起去了超市,买了好多好吃的零食呢,嘻嘻!");data.add(item);item = new HashMap<String, Object>();item.put("name", "星空物语");item.put("photo", R.drawable.p4);item.put("publish", "1分钟前");item.put("content", "人生的意义在于奋斗,不断的超\n越自我,只有这样才能在短暂的\n人生里实现自我的价值!");data.add(item);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


四、总结一下,这里只是静态模拟新浪微博的显示效果,创建一个List集合,然后创建一个Map集合,充当ListView的一个选项.而在实际的实现中则是从数据库中读取数据

原创粉丝点击