Android 我的listView在指定某些条件后显示空行 public View getView(最终int位置,视图转换视图, 视图组(父级){ 最终线性布局项目视图; if(convertView==null){ itemView=(LinearLayout)MLAyoutFlater.充气(R.layout.sms_布局,父项,false); final TextView SMSG=(TextView)itemView.findViewById(R.id.textViewForMs); 最终Sms=mEntries.get(位置); 如果(sms.getAddress()包含(“5556”)){ /*itemView.setVisibility(View.VISIBLE)*/ smsg.setText(sms.getAddress()+“:\n”+sms.getMsg()); smsg.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ //TODO自动生成的方法存根 plum.ShowSendMsgLayout(sms.getMsg().split(“:”[0]); } }); } }否则{ itemView=(LinearLayout)convertView; /*如果(sms.getMsg()包含(“”){ itemView.setVisibility(View.INVISIBLE); }*/ } 返回项目视图; } 公共void upDateEntries(列表条目){ mEntries=newarraylist(); notifyDataSetChanged(); mEntries=条目; notifyDataSetChanged(); }

Android 我的listView在指定某些条件后显示空行 public View getView(最终int位置,视图转换视图, 视图组(父级){ 最终线性布局项目视图; if(convertView==null){ itemView=(LinearLayout)MLAyoutFlater.充气(R.layout.sms_布局,父项,false); final TextView SMSG=(TextView)itemView.findViewById(R.id.textViewForMs); 最终Sms=mEntries.get(位置); 如果(sms.getAddress()包含(“5556”)){ /*itemView.setVisibility(View.VISIBLE)*/ smsg.setText(sms.getAddress()+“:\n”+sms.getMsg()); smsg.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ //TODO自动生成的方法存根 plum.ShowSendMsgLayout(sms.getMsg().split(“:”[0]); } }); } }否则{ itemView=(LinearLayout)convertView; /*如果(sms.getMsg()包含(“”){ itemView.setVisibility(View.INVISIBLE); }*/ } 返回项目视图; } 公共void upDateEntries(列表条目){ mEntries=newarraylist(); notifyDataSetChanged(); mEntries=条目; notifyDataSetChanged(); },android,listview,view,Android,Listview,View,这是我的列表适配器代码。我给出了一个条件,只有来自emulator 5556的消息才会出现在我的列表视图中。但其他emulator的消息将被视为空白,即没有任何操作性能的空行。请建议代码的解决方案以消除这些空行 这是我的列表适配器代码。我给出了一个条件,只允许发送消息 从emulator 5556显示在我的列表视图中。但是其他人的信息 模拟器将被视为空白 ListView中的行数取决于适配器的方法返回的值。ListView显示所有消息,因为适配器数据源可能包含所有消息 若要解决此问题,请在消息不

这是我的列表适配器代码。我给出了一个条件,只有来自emulator 5556的消息才会出现在我的列表视图中。但其他emulator的消息将被视为空白,即没有任何操作性能的空行。请建议代码的解决方案以消除这些空行

这是我的列表适配器代码。我给出了一个条件,只允许发送消息 从emulator 5556显示在我的列表视图中。但是其他人的信息 模拟器将被视为空白

ListView中的行数取决于适配器的方法返回的值。ListView显示所有消息,因为适配器数据源可能包含所有消息

若要解决此问题,请在消息不包含
5556
时调用适配器的
删除
方法:

public View getView(final int position, View convertView,
            ViewGroup parent) {
        final LinearLayout itemView;

         if(convertView == null){

                 itemView = (LinearLayout) mLayoutInflater.inflate(R.layout.sms_layout, parent, false);
               final TextView smsMsg = (TextView)itemView.findViewById(R.id.textViewForSMS);
              final Sms sms=mEntries.get(position);
              if(sms.getAddress().contains("5556")){
                /*itemView.setVisibility(View.VISIBLE);*/
               smsMsg.setText(sms.getAddress()+" :\n  "+sms.getMsg());
               smsMsg.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    plum.ShowSendMsgLayout(sms.getMsg().split(":")[0]);

                }
            });
              }

         }else{

             itemView=(LinearLayout)convertView;
            /* if(sms.getMsg().contains(" ")){
                 itemView.setVisibility(View.INVISIBLE);
             }*/
         }

        return itemView;
    }



    public void upDateEntries(List<Sms> entries) {
        mEntries = new ArrayList<Sms>();
         notifyDataSetChanged();
        mEntries = entries;
        notifyDataSetChanged();
    }

应在将Sms添加到数据列表时验证该条件。如果不符合该条件,则不应添加Sms。我为您更改代码,请尝试:

if(sms.getAddress().contains("5556")){

  // your code here...
}else{
  // remove item from adapter
  remove(position);
  notifyDataSetChanged();
}
public View getView(最终int位置、视图转换视图、视图组父视图){
if(convertView==null){
convertView=MLAYOUTINGER.充气(R.layout.sms_布局,父级,false);
}
最终文本视图SMSG=(文本视图)convertView.findViewById(R.id.textViewForMs);
最终Sms=mEntries.get(位置);
smsg.setText(sms.getAddress()+“:\n”+sms.getMsg());
smsg.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
plum.ShowSendMsgLayout(sms.getMsg().split(“:”[0]);
}
});
返回视图;
}
公共void upDateEntries(列表条目){
mEntries.clear();
用于(短信息:条目){
如果(sms.getAddress()包含(“5556”)){
添加(sms);
}
}
notifyDataSetChanged();
}

这对我不起作用。。。但是上面的代码是…谢谢你…:)@SwapnaAkella:为什么不工作是什么意思?你有什么错误吗?
public View getView(final int position, View convertView, ViewGroup parent) {
    if(convertView == null){
        convertView =  mLayoutInflater.inflate(R.layout.sms_layout, parent, false);
    }
    final TextView smsMsg = (TextView)convertView.findViewById(R.id.textViewForSMS);
    final Sms sms=mEntries.get(position);
     smsMsg.setText(sms.getAddress()+" :\n  "+sms.getMsg());
     smsMsg.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View v) {
          // TODO Auto-generated method stub
          plum.ShowSendMsgLayout(sms.getMsg().split(":")[0]);

      }
    });

   return convertView;
}



public void upDateEntries(List<Sms> entries) {
   mEntries.clear();
   for(Sms sms : entries){
       if(sms.getAddress().contains("5556")){
           mEntries.add(sms);
       }
   }
   notifyDataSetChanged();
 }