web-dev-qa-db-ja.com

List <String>をlogcatに出力します

Log.dが必要とすることがわかります

Log.d(String TAG, String). 

文字列だけでなく、リスト文字列をAndroid debug logcatに出力するにはどうすればよいですか?

15
johnsonjp34

最も一般的なデータ構造で使用できる toString() メソッドを使用します。

_Log.d("list", list.toString());
_

上記のステートメントは、Javaで定義された Generic type を使用してList/Collectionを宣言した場合に、期待される結果を提供します。 String、Integer、Longなど。原因は、すべてtoString()メソッドを実装していることです。

Customer 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に適切に印刷する場合は、DogクラスにtoString()メソッドを実装する必要があります。

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

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

これで、list.toString()を呼び出すと適切な結果が得られます。

32
Hamid Shatu
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);
                }
0
Shaikh Mohib