现在的位置: 首页 > 综合 > 正文

Android : 继承BaseAdapter对ListView进行填充

2018年04月05日 ⁄ 综合 ⁄ 共 3105字 ⁄ 字号 评论关闭

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>

抱歉!评论已关闭.