Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Adapters getView未返回所需的行_Android_Adapter - Fatal编程技术网

Android Adapters getView未返回所需的行

Android Adapters getView未返回所需的行,android,adapter,Android,Adapter,我在getView()中有一些“if”语句,我希望返回if块中的行,但是尽管条件为true,我没有得到行,但我在函数的return语句中得到了行(最后一行)。 我总是收到错误的一行!!(if语句外的行) 代码可以解释我的英语不能做什么: 。。。请你帮我找出错误 public View getView(int position, View convertView, ViewGroup parent) { Log.e("SOMAA","Type: "+ t

我在getView()中有一些“if”语句,我希望返回if块中的行,但是尽管条件为true,我没有得到行,但我在函数的return语句中得到了行(最后一行)。 我总是收到错误的一行!!(if语句外的行) 代码可以解释我的英语不能做什么:

。。。请你帮我找出错误

      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
public View getView(int位置、视图转换视图、视图组父视图){
Log.e(“SOMAA”,“Type:”+thisItems.get(position.Type+”);
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
视图行=充气器。充气(R.layout.msgfrome,父项,false);
if(thisItems.get(position).type==MessageType.TextMessage)
{
Log.e(“SOMAA”,“在if类型文本中”);
if(thisItems.get(position).mFrom.equals(“Me:”){
Log.e(“SOMAA”,“Partener=Me”);
row=充气机。充气(R.layout.msgfrome,父项,false);
ImageView状态=(ImageView)row.findViewById(R.id.sent\u indicator);
STATUS.setImageResource(thisItems.get(position).sent_图标);
}否则
{
row=充气机。充气(R.layout.msgtome,父项,false);
thisItems.get(position.mFrom=“陌生人”;
Log.e(“SOMAA”,“Partener=陌生人”);
}
//Get::
ImageView partnerImg=(ImageView)row.findViewById(R.id.myimage);
TextView合作伙伴=(TextView)row.findViewById(R.id.frommepartner);
TextView msg=(TextView)row.findViewById(R.id.msgtohim);
TextView timespam=(TextView)row.findViewById(R.id.timeFrome);
//集合::
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.Spanable);

return row;//我想要这一行如上所述,不清楚真正的问题是什么,但不要忘记
getView()
方法是在一个线程中调用的!因此它不是间接调用的,也许这就是为什么您得到的结果不是预期的结果(基本上,顺序是“错误的”).

你问什么还不太清楚。你有什么,你想做什么?如果(thisItems.get(position.type==MessageType.TextMessage)是真的,但我没有得到这个if块末尾的返回行!!