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