0

ParseQueryAdapter クラスがあり、アイテムが正常に取得されています。ただし、オブジェクト (文字列) を表示するためにこの for ループがある場合:

 for (int i =0;i<adapter.getCount();i++){
        Log.d("Ab", adapter.getItem(i).toString());
    }

私はこれらを取得します:

   com.example.ab_me.example.classname@41ef11f8    
   com.example.ab_me.example.classname@41ef33d8
   com.example.ab_me.example.classname@41ef40c0

:セキュリティ上の理由から、アプリ名をに、クラス名を に置き換えました。exampleclassname どうしてこれなの?次のようになります。

listItem1
listItem2
listItem3

前もって感謝します

4

1 に答える 1

0

Objectメソッド呼び出しから返される はgetItemメソッドをオーバーライドしません。このtoString()場合、Java はオブジェクトを型に変換する方法を「認識」していないため、デフォルトの実装を使用しますString

このタイプを所有している場合は、独自の実装を持つメソッド@Overrideだけです。toString()

タイプ名がYourType. つまりadapter.getItem(i)、 のオブジェクトを返しますYourType。でYourType.java

class YourType {
    private String exampleField1;
    private String exampleField2;

    @Override
    public String toString() {
        return exampleField1 + ", " + exampleField2;
    }
}
于 2016-03-02T15:47:30.247 に答える