BaseExpandableListAdapter kavramının karışıklığı var, aşağıdaki sorunu açıkladım.BaseExpandableListAdapter convertview getChildView'den eski görünümü döndürür()
Beklenti: Örneğin
İki grupları var, her grup altında
gibi çocuk olarak farklı bir düzen tutanGrubu1 -ReceivedRequest:
child1 - dan Layout1
child2 - from Layout1
Grubu2 -ReceivedSent:
child1 - Layout2
denalt2 - Layout2
Sorun den:
zaman Grubu1 ilk tıklayıp Group2 çalışması mükemmel (örn. yani convertview (... etmelidir onun) doğru yolu şişirme böylece, ilgili grubun ilk kez
arayarak Ama ne zaman Grubu2 ilk tıklayın ve ardından Grubu1 onun hala eski Grubu2 görünümü döndürürken convertview null sorun olduğu) olmak boş ama onun dönen eski görünümü
Lütfen rota beni .. Ben tam Stackoverflow üzerinde here sormak ama henüz bir çözüm Aşağıda
var olduğu bulundu benim Kod diğerlerini yardımcı olacağını bu yüzden sadece kendi soruya cevap
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
SingleRow singleRow = new SingleRow();
RequestInfo Req_child = (RequestInfo) getChild(groupPosition,childPosition);
String type = Req_child.requestertype;
if(convertView==null) {
switch (type)
{
case RequestInfo.REQ_RECEIVED_ACCOUNT:
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.row_reqlist_acctrcvd, null);
convertView.setTag(singleRow);
break;
case RequestInfo.REQ_SENTACCOUNT:
LayoutInflater infalInflater1 = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater1.inflate(R.layout.row_reqlist_acctsent, null);
convertView.setTag(singleRow);
break;
}
}
singleRow = (SingleRow) convertView.getTag();
switch (type)
{
case RequestInfo.REQ_RECEIVED_ACCOUNT:
singleRow.tvUsername_req_rcd = (TextView) convertView.findViewById(R.id.rw_reqaccts_rcvd_username);
singleRow.tvNickName_req_rcd = (TextView) convertView.findViewById(R.id.rw_reqaccts_rcvd_nickname);
singleRow.im_gender_req_rcd = (ImageView) convertView.findViewById(R.id.rw_reqaccts_rcvd_profpic);
singleRow.btAcceptReq = (Button) convertView.findViewById(R.id.rw_reqaccts_rcvd_accpt);
singleRow.btRjctReq = (Button) convertView.findViewById(R.id.rw_reqaccts_rcvd_rjct);
singleRow.tvUsername_req_rcd.setText(Req_child.requesterUsername);
singleRow.tvNickName_req_rcd.setText(Req_child.requesterNickName);
singleRow.im_gender_req_rcd.setImageBitmap(Req_child.requestergender.equals("Male") ? rmale_pic : rfemale_pic);
Log.i("Expand", "your child username is " + Req_child.requesterUsername);
break;
case RequestInfo.REQ_SENTACCOUNT:
singleRow.tvUsername_req_sent = (TextView) convertView.findViewById(R.id.rw_reqaccts_sent_username);
singleRow.tvNickName_req_sent = (TextView) convertView.findViewById(R.id.rw_reqaccts_sent_nickname);
singleRow.im_gender_req_sent = (ImageView) convertView.findViewById(R.id.rw_reqaccts_sent_profpic);
singleRow.btReqSent = (Button) convertView.findViewById(R.id.rw_btn_sent_reqaccts);
singleRow.tvUsername_req_sent.setText(Req_child.requesterUsername);
singleRow.tvNickName_req_sent.setText(Req_child.requesterNickName);
singleRow.im_gender_req_sent.setImageBitmap(Req_child.requestergender.equals("Male") ? rmale_pic : rfemale_pic);
Log.i("Expand", "your child username is " + Req_child.requesterUsername);
}
return convertView;
}