import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter
{
private Context context;
private LayoutInflater layoutInflater;
private List<Map<String, Object>> list;
//构造方法,参数list传递的就是这一组数据的信息
public MyAdapter(Context context, List<Map<String, Object>> list)
{
this.context = context;
layoutInflater = LayoutInflater.from(context);
this.list = list;
}
//得到总的数量
public int getCount()
{
// TODO Auto-generated method stub
return this.list!=null? this.list.size(): 0 ;
}
//根据ListView位置返回View
public Object getItem(int position)
{
// TODO Auto-generated method stub
return this.list.get(position);
}
//根据ListView位置得到List中的ID
public long getItemId(int position)
{
// TODO Auto-generated method stub
return position;
}
//根据位置得到View对象
public View getView(int position, View convertView, ViewGroup parent)
{
if(convertView == null)
{
convertView = layoutInflater.inflate(R.layout.item, null);
}
//得到条目中的子组件
TextView tv1 = (TextView)convertView.findViewById(R.id.nameTextView);
ProgressBar pb = (ProgressBar)convertView.findViewById(R.id.sizeProgressBar);
TextView tv2 = (TextView)convertView.findViewById(R.id.sizeTextView);
//从list对象中为子组件赋值
tv1.setText(list.get(position).get("name").toString());
pb.setProgress(Integer.parseInt(list.get(position).get("size").toString()));
tv2.setText(list.get(position).get("size").toString());
return convertView;
}
}