解决方案 »

  1.   

    这样写当然会覆盖了 你应该先把要加入的那个加入数组 然后再setadapter
      

  2.   

    private class MainHandler extends Handler { public void handleMessage(Message msg) {
     switch (msg.what) { case HadwareControll.BARCODE_READ: {
     String result = msg.obj + "\n";
    buildAdapter(result);
     break;
     }
     default:
     break;
     }
     }
     } 
      private void buildAdapter(String barcode) {  String wh = barcode.substring(0, 5);
      String po = barcode.substring(6, barcode.length() - 1);  List<HashMap<String, String>> list = new ArrayList<>();  HashMap<String, String> map = new HashMap<>();
      map.put(Constants.LIST_WH, wh);
      map.put(Constants.LIST_PO, po);
      list.add(map);  spAdapter.notifyDataSetChanged();  return ;
      } 我也是稍微了解了点安卓listview ,这是我根据你的修改的,你看看行不?你那样的话肯定是不行的
      

  3.   

    还没说完,
    list.add(map);
    这个list 用你第一次设置时的list 不要new一个新的
    spAdapter.notifyDataSetChanged();
    这个 spAdapter 也是第一次设置的时候那个
    你试试吧, 修改好了应该可以