关于ListView的用法案例

做了两个程序,但这个的发表时间总是不能对齐,因为这个多用了一个子布局,另一个程序则没事。想修改后再发表,但一直也没弄出个所以然来。

<activity_main>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="1"
android:orientation="horizontal"
tools:context=".MainActivity" >

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#99ccff"
>
</LinearLayout>

<ImageView
android:id="@+id/imageView1"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="false"
android:layout_marginTop="6dp"
android:layout_marginLeft="15dp"
android:src="@drawable/jiantou" />

<TextView
android:id="@+id/tvTittle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView1"
android:layout_centerHorizontal="true"
android:text="@string/tvTittle"
android:textAppearance="?android:attr/textAppearanceLarge" />

<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout1" >
</ListView>

</RelativeLayout>

 

<activity_main_item>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:columnCount="1"
android:orientation="horizontal"
tools:context=".MainActivity" >

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >

<ImageView
android:id="@+id/ivImg"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_launcher" />

<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dp"
android:text="tvName"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="180dp"
android:text="tvTime"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="10dp" />

</LinearLayout>

<TextView
android:id="@+id/tvContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout1"
android:layout_marginLeft="46dp"
android:textSize="16dp"
android:text="tvContent"
android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

 

<dataclass实体类>

package com.example.sina_look;

 

public class dataclass {
public String tvName;
public int imgId;
public String showTime;
public String showContent;

public dataclass(){
super();
}
public dataclass(String fileName,int ImgId,String time,String content){
super();

tvName=fileName;
imgId=ImgId;
showTime=time;
showContent=content;

}

 

}

 

<sinaAdapter适配器>

package com.example.sina_look;

import java.util.List;

import org.w3c.dom.Text;

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;

public class sinaAdapter extends BaseAdapter{
//先定义context
private Context mContext;
//定义要显示的列表
private List<dataclass>data;
//适配器的构造方法
public sinaAdapter(Context c,List<dataclass> dt){
mContext=c;
data=dt;
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return data.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder viewHolder=null;
if(convertView==null){
convertView=LayoutInflater.from(mContext).inflate(R.layout.activity_main_item, null);
viewHolder=new ViewHolder();
viewHolder.sinaImg=(ImageView) convertView.findViewById(R.id.ivImg);
viewHolder.sinaName=(TextView) convertView.findViewById(R.id.tvName);
viewHolder.sinaTime=(TextView) convertView.findViewById(R.id.tvTime);
viewHolder.sinaContent=(TextView) convertView.findViewById(R.id.tvContent);
convertView.setTag(viewHolder);
}
else{
viewHolder=(ViewHolder) convertView.getTag();
}
viewHolder.sinaImg.setImageResource(data.get(position).imgId);
viewHolder.sinaName.setText(data.get(position).tvName);
viewHolder.sinaTime.setText(data.get(position).showTime);
viewHolder.sinaContent.setText(data.get(position).showContent);
return convertView;
}
class ViewHolder{
ImageView sinaImg;
TextView sinaName;
TextView sinaTime;
TextView sinaContent;
}

}

<MainActivity>

 

public class MainActivity extends Activity {
private ListView lv;

//定义用来存储ListView的数据源
sinaAdapter adapter;
//定义用来存储需要显示的对象的列表
private List<dataclass>data=new ArrayList<dataclass>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findView();
setData();
setLv();
}

 


private void setLv() {
// TODO Auto-generated method stub
adapter=new sinaAdapter(this, data);
lv.setAdapter(adapter);
}

 


private void setData() {
// TODO Auto-generated method stub
//构造模拟数据
data.add(new dataclass("大神 ", R.drawable.boy, "1分钟前", "安卓真的是太有趣了。有时候真的感兴趣,才有学好的可能。。。"));
data.add(new dataclass("往事笑忘", R.drawable.girl, "2分钟前", "离别后我们不问不扰却悄悄关注."));
data.add(new dataclass("后来多美", R.drawable.haimian, "6分钟前", "愿我每天过得有笑容不再辜负自己."));
data.add(new dataclass(" 予你挚终", R.drawable.longmao, "8分钟前", "后来我终于忘记了你连提起都只剩笑意."));
data.add(new dataclass(" 长街旧人", R.drawable.nanhai, "30分钟前", "时光不会倒着走我也不会再回头"));
data.add(new dataclass("七街城酒", R.drawable.wenshen, "37分钟前", "你是我这一生等了半世未拆的礼物"));
data.add(new dataclass(" 旧友", R.drawable.keai, "38分钟前", "明知道我是你的将就,却还是把你当做我的所有."));
data.add(new dataclass("入戏太深", R.drawable.c, "45分钟前", "我一直是我故事里的主角."));
data.add(new dataclass(" 眉目情深", R.drawable.dog, "1小时前", "好饿啊,想吃烤肉。。。"));
data.add(new dataclass("锅锅 ", R.drawable.x, "1小时前", "真心觉得自己越来越帅了!!!"));
data.add(new dataclass(" 无心 ", R.drawable.xiaoxiong, "2小时前", "终于文艺不下去了,逗比才是本性。。。"));
data.add(new dataclass("赵先森~", R.drawable.lazycat, "1天前", "哈哈哈哈哈哈~赵文仿最棒了!!!赵文仿是我的偶像!!!"));
data.add(new dataclass("宝宝 ", R.drawable.mengcat, "1天前", "我爱锅锅!!!"));

}

 


private void findView() {
// TODO Auto-generated method stub
lv=(ListView) findViewById(R.id.lv);
}

 


@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;
}
}

 

posted @ 2015-05-14 10:10  Z_devotion  阅读(192)  评论(0编辑  收藏  举报