将List <string>打印到logcat </string>

时间:2014-03-13 17:07:08

标签: java android debugging logcat android-logcat

我可以看到log.d需要

Log.d(String TAG, String). 

如何在android调试logcat中打印一个List String而不仅仅是一个String?

3 个答案:

答案 0 :(得分:29)

使用适用于大多数常见数据结构的toString()方法:

Log.d("list", list.toString());

如果您使用Java中定义的Generic type声明List / Collection,则上述语句将为您提供预期结果。如String,Integer,Long等因为,它们都实现了toString()方法。

Custome Generic Type:

但如果您使用自己的自定义类型声明List,则只需调用list.toString()即可获得正确的输出。您需要为自定义类型实现toString()方法以获得预期的输出。

例如:

您有一个名为Dog的模型类,如下所示

public class Dog{
   String breed;
   int ageC
   String color; 
}

您使用List类型

声明了Dog
List<Dog> dogList = new ArrayList<Dog>();

现在,如果您想在LogCat中正确打印此列表,则需要在toString()课程中实施Dog方法。

public class Dog{
   String breed;
   int age
   String color;

   String toString(){
       return "Breed : " + breed + "\nAge : " + age + "\nColor : " + color;
   } 
}

现在,如果拨打list.toString(),您将获得正确的结果。

答案 1 :(得分:0)

if (list != null && list.size() > 0)
                {
                    for (int i = 0; i < list.size(); i++) {
                        mStrp = mStrp + list.get(i).getdataname() + "/";
                        mStrD  = mStrD + list.get(i).getdata2name() + "/";
                    }

                    //if you want to delete last "/"
                mStrp = mStrLatPick.substring(0,mStrLatPick.length() - 1);

                    value = mStrp + mStrD;
                    Log.d("value",value);
                }

答案 2 :(得分:0)

如果要在控制台上打印Array List元素,并添加,则删除一个元素。

import React, { useState } from "react";
import "./styles.css";

export default function App() {
  const initialValues = {
    none: false,
    one: false,
    two: false,
    three: false
  };
  const [Aht, setAht] = useState(initialValues);

  const handleInputChangeHipe = e => {
    const target = e.target;
    setAht(prev => ({
      ...prev,
      [target.name]: target.checked ? true : false,
      none: false
    }));
  };
  const handleNone = e => {
    if (e.target.checked) {
      setAht({ ...initialValues, none: true });
    } else {
      setAht(prev => ({
        ...prev,
        none: false
      }));
    }
  };
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      NONE{" "}
      <input
        onChange={handleNone}
        name="none"
        type="checkbox"
        label="none"
        checked={Aht.none}
      />
      <br />
      one{" "}
      <input
        onChange={handleInputChangeHipe}
        name="one"
        type="checkbox"
        label="one"
        disabled={Aht.none}
        checked={Aht.one}
      />
      <br />
      two{" "}
      <input
        onChange={handleInputChangeHipe}
        name="two"
        type="checkbox"
        disabled={Aht.none}
        label="two"
        checked={Aht.two}
      />
      <br />
      three{" "}
      <input
        onChange={handleInputChangeHipe}
        name="three"
        type="checkbox"
        disabled={Aht.none}
        label="one"
        checked={Aht.three}
      />
    </div>
  );
}