ListView getItemAtPosition(i)Method给出了不可读的对象

时间:2014-04-10 05:32:33

标签: android listview

我想通过复选框查看列表视图中选择的项目。但是,当我尝试打印lv.getItemAtPosition(i).toString()时,它给了我一个“对象”。如何将其转换为可读格式?

  public void blockCheckedItems(View view) {  
    // int cntChoice = lv.getCount();
     checked = new ArrayList<String>();
     unchecked = new ArrayList<String>();

    int itempositions=adapter.getCount();

    SparseBooleanArray sparseBooleanArray = lv.getCheckedItemPositions();
    int countChoice = lv.getChildCount();

    Log.d("" + countChoice, "CountChoice===============================");
    Log.d("" + sparseBooleanArray,"sparseBooleanArray -------------------------");



     for(int i = 0; i < countChoice; i++)
     {

          if(sparseBooleanArray.get(i) == true) 
          {
              checked.add(lv.getItemAtPosition(i).toString());

          }
          else  if(sparseBooleanArray.get(i) == false) 
          {
              unchecked.add(lv.getItemAtPosition(i).toString());
          }

      }
     for(int i = 0; i < checked.size(); i++){
         Log.d("checked list&&&&&&&&&&&&&&&&&&&", "" + checked.get(i));
     }
     for(int i = 0; i < unchecked.size(); i++){
         Log.d("in unchecked list&&&&&&&&&&&&&&&&&&&", "" + unchecked.get(i));
     }


 }

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

if(sparseBooleanArray.get(i) == true) 
      {
          checked.add(Boolean.toString(sparseBooleanArray.get(i)));

      }
      else  if(sparseBooleanArray.get(i) == false) 
      {
          unchecked.add(Boolean.toString(sparseBooleanArray.get(i)));
      }

答案 1 :(得分:0)

我通过更改以下代码并使用Cursor并保持上述代码的其他部分相同来解决上述问题。

     for(int i = 0; i < countChoice; i++)
     {

          if(sparseBooleanArray.valueAt(i) == true) 
          {
              Cursor  cursor = (Cursor) lv.getItemAtPosition(i);
              String name = cursor.getString(1);
              checked.add(name);

          }
          else  if(sparseBooleanArray.valueAt(i) == false) 
          {
              Cursor  cursor = (Cursor) lv.getItemAtPosition(i);
              String name = cursor.getString(1);
              unchecked.add(name);
          }

      }