【问题标题】:How can I print list of objects in android如何在android中打印对象列表
【发布时间】:2014-04-04 13:44:38
【问题描述】:

我使用此代码在我的应用程序中显示未接来电,而我每次使用 Call 类来定义一个对象,然后将其存储在测试中如何在我的应用程序中打印测试列表中的所有对象?

 List<Call> callList = new ArrayList<Call>();
        while (c.moveToNext()) {
            Call call = new Call();
            call.setNumber(c.getString(c.getColumnIndex(CallLog.Calls.NUMBER)));
           /* if (c.getInt(c.getColumnIndex(CallLog.Calls.TYPE)) == CallLog.Calls.OUTGOING_TYPE) {
                call.setOut(true);
            } else {
                call.setOut(false);
            }*/

            call.setName(c.getString(c.getColumnIndex(CallLog.Calls.CACHED_NAME)));
            call.setTime(c.getLong(c.getColumnIndex(CallLog.Calls.DATE)));
            call.setDuration(c.getLong(c.getColumnIndex(CallLog.Calls.DURATION)));

            if ( c.getString(c.getColumnIndex(CallLog.Calls.CACHED_NAME))!= null) 
            {
                continue;
            }

            callList.add(call);
        }
        c.close();
        }

【问题讨论】:

    标签: android listview object printing


    【解决方案1】:

    您可以在 Call 类上覆盖 toString() 方法,例如:

        @Override
        public String toString() {
    
            return Name+" "+Time+" "+Duration;
        }
    

    并在 for 语句中打印您的列表,例如:

    for (int i = 0 ; i < callList.size() ; i++)
        Log.d("value is" , callList.get(i).toString()); 
    

    【讨论】:

      【解决方案2】:

      您可以遍历列表并打印元素:

      List<Call> callList = new ArrayList<Call>();
           for(Call call : callList){
              System.out.print("Name - " +call.getName() +
              "Number - "+call.getNumber() +
              "Time - "+call.getTime() +
              "Duration - "call.getDuration());
           }
      

      【讨论】:

        【解决方案3】:

        你必须像这样在你的 Call 类中覆盖 toString

         @Override
          public String toString() {
            return "Call{" +
              "Name=" + Name+
              ", Time='" + Time+ '\'' +
              ", Duration='" + Duration+ '\'' +
              '}';
          }
        

        然后用这个

        System.out.println("callList: " +Arrays.toString(callList.toArray()));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-07
          • 1970-01-01
          • 1970-01-01
          • 2019-04-26
          • 1970-01-01
          相关资源
          最近更新 更多