您的位置:首页 > 移动开发 > Android开发

Android : 继承BaseAdapter对ListView进行填充

2013-03-11 18:36 645 查看
Android : 继承BaseAdapter对ListView进行填充

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

class User {
private String userid;、
private String username;

public String getUserid() {
return userid;
}

public void setUserid(String userid) {
this.userid = userid;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
}

class ViewHolder {
TextView textviewUserId;
TextView textviewUserName;
}

class UserInfoAdapter extends BaseAdapter {
private LayoutInflater inflater;
private List<User> list;
public UserInfoAdapter(Context context, List<User> list) {
// TODO Auto-generated constructor stub
inflater = LayoutInflater.from(context);
this.list = list;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public User getItem(int position) {
return list.get(position);
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View view, ViewGroup viewgroup) {
ViewHolder viewHolder = null;
if (view == null) {
view = inflater.inflate(R.layout.user_detail, null);
viewHolder = new ViewHolder();
viewHolder.textviewUserId = (TextView) view
.findViewById(R.id.textviewUserId);
viewHolder.textviewUserName = (TextView) view
.findViewById(R.id.textviewUserName);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.textviewUserId.setText(list.get(position).getUserid());
viewHolder.textviewUserName.setText(list.get(position).getUsername());
return view;
}

}

class NewsActivity extends Activity{
private List<User> list = null;
private UserInfoAdapter adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news_list);
list = new ArrayList<User>();
//Maybe here you will call json...
User user=new User();
user.setUserid("");
user.setUsername("Zhou, Biwen");
list.add(user);
adapter=new UserInfoAdapter(this,list);
ListView listView = (ListView) findViewById(R.id.userlistview);
listView.setAdapter(adapter);

}
}

//news_detail.xml
//<?xml version="." encoding="utf-"?>
//<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
//android:layout_width="wrap_content"
//android:layout_height="wrap_content"
//android:orientation="horizontal">
//<LinearLayout
//android:layout_width="fill_parent"
//android:layout_height="wrap_content"
//android:orientation="vertical"
//android:paddingLeft="px"
//android:paddingRight="px"
//android:layout_marginTop="px"
//android:layout_marginBottom="px">
//<TextView
//android:id="@+id/textviewUserId"
//android:layout_width="wrap_content"
//android:layout_height="wrap_content"
//android:textSize="px"
//android:textColor="#"
//android:layout_alignParentLeft="true">
//</TextView>
//<TextView
//android:id="@+id/textviewUserName"
//android:layout_width="wrap_content"
//android:layout_height="wrap_content"
//android:layout_alignParentRight="true"
//android:textColor="#fa"
//android:textSize="px">
//</TextView>
//</LinearLayout>
//</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐