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>