0
我在getView()中有一些「if」語句,我希望返回if塊中的行,但雖然條件爲真,但我沒有得到該行,但是我得到了函數的返回語句中的行(最後一行)。 所有的時間我收到錯誤的行!!(if語句之外的行) 該代碼可能解釋我的英語不能做什麼:適配器getView不返回我想要的行
...你可以幫我弄錯了!
public View getView(int position, View convertView, ViewGroup parent) {
Log.e("SOMAA","Type: "+ thisItems.get(position).type+" ");
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.msgfromme, parent, false); ;
if(thisItems.get(position).type==MessageType.TextMessage)
{
Log.e("SOMAA","in if type text");
if (thisItems.get(position).mFrom.equals("Me: ")) {
Log.e("SOMAA","Partener = Me ");
row = inflater.inflate(R.layout.msgfromme, parent, false);
ImageView STATUS = (ImageView) row.findViewById(R.id.sent_indecator);
STATUS.setImageResource(thisItems.get(position).sent_icon);
} else
{
row = inflater.inflate(R.layout.msgtome, parent, false);
thisItems.get(position).mFrom="Stranger";
Log.e("SOMAA","Partener = Stranger ");
}
//Get::
ImageView partnerImg = (ImageView) row.findViewById(R.id.myimage);
TextView partner = (TextView) row.findViewById(R.id.frommepartner);
TextView msg = (TextView) row.findViewById(R.id.msgtohim);
TextView timespam = (TextView) row.findViewById(R.id.timefromme);
//Set::
partnerImg.setImageResource((thisItems.get(position)).mImage);
partner.setText(thisItems.get(position).mFrom);
timespam.setText(thisItems.get(position).mTimeStamp);
msg.setText(thisItems.get(position).mMsgbdy, TextView.BufferType.SPANNABLE);
return row;// I want this row <<<<<----
}
//---------------------------------------------------------------------------------------------------------
else if (thisItems.get(position).type==MessageType.urlToParter)
{
Log.e("SOMAA","In else if (thisItems.get(position).type==MessageType.urlToParter) : " + (thisItems.get(position).type));
Log.e("SOMAA",thisItems.get(position).url);
if (thisItems.get(position).mFrom.equals("Me: ")) {
row = inflater.inflate(R.layout.image_row_from_me, parent, false);
} else{
row = inflater.inflate(R.layout.image_row_to_me, parent, false);
thisItems.get(position).mFrom="Stranger";
}
//Get::
ImageView imageShow = (ImageView) row.findViewById(R.id.imgsrc);
TextView partner = (TextView) row.findViewById(R.id.partner_send_image);
TextView timespam = (TextView) row.findViewById(R.id.timeimg);
//Set::
Log.d("SOMAA","Reading File");
thisItems.get(position).url=thisItems.get(position).url.replace("\\","/");
File imgFile = new File(thisItems.get(position).url);
Log.d("SOMAA","is exist file"+imgFile.exists());
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
imageShow.setImageBitmap(myBitmap);
partner.setText(thisItems.get(position).mFrom);
timespam.setText(thisItems.get(position).mTimeStamp);
}
return row; // OR this row <<<<<----
}
Log.e("SOMAA","OOOPS, Not our row!!");
return row;//But <<<<< I Always get this row
}
**Update:**
Logcat|:
01-14 15:37:26.929 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:37:33.129 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:33.319 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:37:33.878 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:33.929 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:37:45.889 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:45.928 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:37:49.520 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:49.558 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:37:51.619 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:51.679 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:51.729 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:37:52.309 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:52.339 1644-1644/? E/SOMAA﹕ Type: 0
01-14 15:37:52.388 1644-1644/? E/SOMAA﹕ Type: 100
01-14 15:48:14.229 1693-1709/? E/SOMAA﹕ in handletext message
01-14 15:48:14.264 1693-1709/? E/SOMAA﹕ msg body: 65+5+65
01-14 15:48:16.139 1693-1693/? E/SOMAA﹕ Type: 100
01-14 15:48:16.189 1693-1693/? E/SOMAA﹕ in if type text
01-14 15:48:16.219 1693-1693/? E/SOMAA﹕ Partener = Stranger
01-14 15:48:34.329 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:48:34.439 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:48:34.489 1693-1693/? E/SOMAA﹕ Type: 100
01-14 15:48:34.530 1693-1693/? E/SOMAA﹕ in if type text
01-14 15:48:34.629 1693-1693/? E/SOMAA﹕ Partener = Stranger
01-14 15:49:20.178 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:49:20.248 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:49:20.270 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:49:20.288 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:49:20.308 1693-1693/? E/SOMAA﹕ Type: 100
01-14 15:49:20.338 1693-1693/? E/SOMAA﹕ in if type text
01-14 15:49:20.368 1693-1693/? E/SOMAA﹕ Partener = Stranger
01-14 15:49:20.918 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:49:20.948 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:49:20.968 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:49:20.988 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:49:21.008 1693-1693/? E/SOMAA﹕ Type: 100
01-14 15:49:21.038 1693-1693/? E/SOMAA﹕ in if type text
01-14 15:49:21.058 1693-1693/? E/SOMAA﹕ Partener = Stranger
01-14 15:51:16.128 1693-1693/? E/SOMAA﹕ imageeeee image C:\wamp\www\RandomSendServer\images\1389714677174.gif
01-14 15:51:18.049 1693-1693/? E/SOMAA﹕ in handletext message
01-14 15:51:18.059 1693-1693/? E/SOMAA﹕ msg body:
01-14 15:51:18.338 1693-1693/? E/SOMAA﹕ Type: 100
01-14 15:51:18.379 1693-1693/? E/SOMAA﹕ in if type text
01-14 15:51:18.419 1693-1693/? E/SOMAA﹕ Partener = Stranger
01-14 15:51:18.439 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:51:18.468 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:51:18.488 1693-1693/? E/SOMAA﹕ Type: 0
01-14 15:51:18.529 1693-1693/? E/SOMAA﹕ OOOPS, Not our row!!
01-14 15:51:18.559 1693-1693/? E/SOMAA﹕ Type: 100
01-14 15:51:18.579 1693-1693/? E/SOMAA﹕ in if type text
01-14 15:51:18.619 1693-1693/? E/SOMAA﹕ Partener = Stranger
100 = TextMessage的
你不明白你在問什麼。你有什麼,你想做什麼? – Codeman
if(thisItems.get(position).type == MessageType.TextMessage)是真的,但我沒有得到這個結束時的返回行if block! – EsmaeelQash