Rumah > Soal Jawab > teks badan
当日期的值为空的时候,就会将姓名或邮箱等值填充进去,当日期有值的时候现实正常,找了好久不知道怎么搞,希望各位大神给点建议。
下面为adapter的代码:
private static final int TYPE_VIEW_COUNT = 2;
private static final int TYPE_ONE = 0;
private static final int TYPE_TWO = 1;
private List<FormData> mDatas;
private Context mContext;
private LayoutInflater mInflater;
private int eventIds = -1;
private int attendIds = -1;
private int ticketIds = -1;
private Attends attends;
private EventTicket ticket;
private JSONObject object = null;
public DetailAdapter(List<FormData> mDatas, Context mContext, int eventId, int attendId, int ticketId) {
this.mDatas = mDatas;
this.mContext = mContext;
this.mInflater = LayoutInflater.from(mContext);
this.eventIds = eventId;
this.attendIds = attendId;
this.ticketIds = ticketId;
attends = new Select().from(Attends.class).where(Attends_Table.eventId.is(eventIds)).and(Attends_Table.attendId.is(attendIds)).querySingle();
ticket = new Select().from(EventTicket.class).where(EventTicket_Table.eventIds.is(eventIds)).and(Attends_Table.ticketIds.is(ticketIds)).querySingle();
try {
object = new JSONObject(attends.gsonUser);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public int getItemViewType(int position) {
if (position == 0) {
return TYPE_ONE;
} else {
return TYPE_TWO;
}
}
@Override
public int getViewTypeCount() {
return TYPE_VIEW_COUNT;
}
@Override
public int getCount() {
return mDatas.size() + 1;
}
@Override
public Object getItem(int position) {
return mDatas.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
DetailViewHolder holder = null;
UserDetailViewHolder userDetailViewHolder = null;
int viewTypeCount = getItemViewType(position);
if (convertView == null) {
switch (viewTypeCount) {
case TYPE_ONE:
userDetailViewHolder = new UserDetailViewHolder();
convertView = mInflater.inflate(R.layout.attend_people_datail_type1, null);
userDetailViewHolder.tv_name_letter = (CircleTextView) convertView.findViewById(R.id.tv_detail_letter);
userDetailViewHolder.tv_detail_name = (TextView) convertView.findViewById(R.id.tv_detail_name);
userDetailViewHolder.tv_ticket_name = (TextView) convertView.findViewById(R.id.tv_detail_ticket);
convertView.setTag(userDetailViewHolder);
// AutoUtils.auto(convertView);
break;
case TYPE_TWO:
holder = new DetailViewHolder();
convertView = mInflater.inflate(R.layout.attend_people_datail_type2, null);
holder.tv_form = (TextView) convertView.findViewById(R.id.tv_form);
holder.tv_detail_content = (TextView) convertView.findViewById(R.id.tv_detail_content);
convertView.setTag(holder);
}
} else {
switch (viewTypeCount) {
case TYPE_ONE:
userDetailViewHolder = (UserDetailViewHolder) convertView.getTag();
break;
case TYPE_TWO:
holder = (DetailViewHolder) convertView.getTag();
break;
}
}
//根据返回类型展示不同的数据
switch (viewTypeCount) {
case TYPE_ONE:
if (attends != null && ticket != null) {
userDetailViewHolder.tv_name_letter.setText(attends.names.substring(0, 1));
userDetailViewHolder.tv_detail_name.setText(attends.names);
userDetailViewHolder.tv_ticket_name.setText(ticket.ticketNames);
}
break;
case TYPE_TWO:
if (position >= 1) {
Log.e("", "position -->" + position);
if (attends != null) {
holder.tv_form.setText(mDatas.get(position - 1).getFormName());
try {
if (object != null) {
holder.tv_detail_content.setText(object.getString(mDatas.get(position - 1).getFormFieldId() + ""));
}
// Toast.makeText(mContext, holder.tv_form.getText().toString(), Toast.LENGTH_LONG).show();
// Toast.makeText(mContext, holder.tv_detail_content.getText().toString(), Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
break;
}
return convertView;
}
class DetailViewHolder {
TextView tv_form;
TextView tv_detail_content;
}
class UserDetailViewHolder {
CircleTextView tv_name_letter;
TextView tv_detail_name;
TextView tv_ticket_name;
}
}