2014-01-14 2 views
0

У меня есть некоторые операторы if if в getView(), и я хочу, чтобы строки в блоке 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

сказанное выше
+0

Непонятно, что вы просите. Что у вас есть и что вы пытаетесь сделать? – Codeman

+0

if (thisItems.get (position) .type == MessageType.TextMessage) истинно, но я не получаю строку возврата в конце этого блока if! – EsmaeelQash

ответ

0

Как, это не ясно, что это реальная проблема, но не забывайте, метод getView() называется в тему! Таким образом, это не называется по существу, возможно, именно поэтому вы получаете результаты, которых вы не ожидаете (в основном, в «неправильном» порядке).

Смежные вопросы