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

一、可以在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;

//继承ListActivity
public class MainActivity extends ListActivity {
	// 定义数据源
	List<Map<String, ?>> data;

	@Override
	protected 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);

	}

	@Override
	public 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的一个选项.而在实际的实现中则是从数据库中读取数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值