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 回答