模拟新浪微博随便看看

来源:互联网 发布:企业会计准则 知乎 编辑:程序博客网 时间:2024/05/16 11:01

1.MainActivity.java

package cn.edu.bzu.sinalook;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;

public class MainActivity extends Activity {

 private MyAdapter adapter;
 private ListView lv;
 private List<ListCell> list;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  lv = (ListView) findViewById(R.id.lv);
  
//  adapter=new MyAdapter(MainActivity.this,list);/*此处必须放置在list数据之下,否则会报空指针异常,原因是此时的list为空*/

  list = new ArrayList<ListCell>();
  //测试数据
  list.add(new ListCell(R.drawable.p3, "瞿惠颖", "2015-05-02", "四级一定要过!!!加油"));
  list.add(new ListCell(R.drawable.p2, "郭珊", "2015-05-02", "要穿漂亮的新衣服!"));
  list.add(new ListCell(R.drawable.p1, "玲玲", "2015-05-02", "五一来了呀!"));
  list.add(new ListCell(R.drawable.p4, "丹阳", "2015-05-02", "看电影喽!"));
  list.add(new ListCell(R.drawable.p6, "如月", "2015-05-02", "好想妈妈呀"));
  list.add(new ListCell(R.drawable.p5, "伟伟", "2015-05-02", "认真学习!"));
  
  adapter=new MyAdapter(MainActivity.this,list);
  
  lv.setAdapter(adapter);
 }

}

2.activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/tv_title" />

    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dp">
    </ListView>

</LinearLayout>

3.list_cell.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="#FFE1FF">

    <ImageView
        android:id="@+id/ivIcon"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_margin="3dp"
        android:contentDescription="@string/iv_des"/>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp">

        <TextView
            android:id="@+id/tvName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="7dp"
            android:text="@string/tv_name"
            android:textAppearance="?android:attr/textAppearanceLarge" />

      

        <TextView
            android:id="@+id/tvTime"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/tvContent"
            android:layout_alignParentRight="true"
            android:layout_marginRight="20dp"
            android:text="@string/tv_time"
            android:textAppearance="?android:attr/textAppearanceSmall" />
  
         <TextView
            android:id="@+id/tvContent"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="10dp"
            android:layout_below="@id/tvName"
           
            android:text="" />
    </RelativeLayout>

4.listcell.java

package cn.edu.bzu.sinalook;


public class ListCell {

 private int iconId;
 private String tvName, tvTime, tvContent;
 
 public ListCell() {
  super();
 }
 
 public ListCell(int iconId, String tvName, String tvTime,
   String tvContent) {
  super();
  this.iconId = iconId;
  this.tvName = tvName;
  this.tvTime = tvTime;
  this.tvContent = tvContent;
 }

 public int getIconId() {
  return iconId;
 }

 public void setIconId(int iconId) {
  this.iconId = iconId;
 }

 public String getTvName() {
  return tvName;
 }

 public void setTvName(String tvName) {
  this.tvName = tvName;
 }

 public String getTvTime() {
  return tvTime;
 }

 public void setTvTime(String tvTime) {
  this.tvTime = tvTime;
 }

 public String getTvContent() {
  return tvContent;
 }

 public void setTvContent(String tvContent) {
  this.tvContent = tvContent;
 }


}

5.MyAdapter.java

package cn.edu.bzu.sinalook;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;


/**
 * @author
 * Date: 2015-5-4
 * Des: 自定义的适配器,
 *
 */
public class MyAdapter extends BaseAdapter {

 private List<ListCell> list;
 private Context context;
 
 public MyAdapter(Context context, List<ListCell> list) {
  this.context = context;
  this.list = list;
 }
 
 public int getCount() {
  return list.size();//列表长度
 }

 public Object getItem(int arg0) {
  return list.get(arg0);//根据arg0 返回列表项
 }


 public long getItemId(int arg0) {
  return arg0;
 }


 public View getView(int arg0, View arg1, ViewGroup arg2) {
  
  if (arg1 == null) {
   arg1 = LayoutInflater.from(context).inflate(R.layout.list_cell,null);
  }
  
  ListCell lc = list.get(arg0);
  
  ImageView iconId = (ImageView) arg1.findViewById(R.id.ivIcon);
  TextView tvName = (TextView) arg1.findViewById(R.id.tvName);
  TextView tvTime = (TextView) arg1.findViewById(R.id.tvTime);
  TextView tvContent = (TextView) arg1.findViewById(R.id.tvContent);
  
  iconId.setBackgroundResource(lc.getIconId());
  tvName.setText(lc.getTvName());
  tvTime.setText(lc.getTvTime());
  tvContent.setText(lc.getTvContent());
  
  return arg1;
 }

}

 


 

 

0 0