我可以看到log.d需要
Log.d(String TAG, String).
如何在android调试logcat中打印一个List String而不仅仅是一个String?
答案 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>
);
}