Listview使用自定义布局,则需要创建layout,并引用layout。以下为示例代码:
创建layout文件
android:layout_height="wrap_content">
2.layout面含有的textview是想要展示内容的地方。那么构建ArrayAdapter时,应该这样写:
ArrayAdapter
3.ArrayAdapter并且重写getView方法。代码:
public class UserListAdapter extends ArrayAdapter
private int resourceId;
public UserListAdapter(Context context, int textViewResourceId, List
super(context, textViewResourceId, objects);
this.resourceId = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
User user = getItem(position);
LinearLayout userListItem = new LinearLayout(getContext());
String inflater = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater vi = (LayoutInflater)getContext().getSystemService(inflater);
vi.inflate(resourceId, userListItem, true);
TextView tvUsername = (TextView)userListItem.findViewById(R.id.tv_user_list_username);
TextView tvAskedNum = (TextView)userListItem.findViewById(R.id.tv_user_list_askednum);
TextView tvLastMsg = (TextView)userListItem.findViewById(R.id.tv_user_list_lastmsg);
tvUsername.setText(user.getUsername());
tvAskedNum.setText(String.valueOf(user.getAskedNum()));
tvLastMsg.setText(user.getLastMsg());
return userListItem;
}
}