首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >得到奇怪的输出

得到奇怪的输出
EN

Stack Overflow用户
提问于 2016-03-29 20:16:36
回答 1查看 39关注 0票数 0

你好,我正在尝试使用改装,一切都很好。但我得到的输出是这样的。examples.sewoyebah.com.retrofit.model.Model@41ce7408,examples.sewoyebah.com.retrofit.model.Model@41ce7698

这是我的MainActivity

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity {

@Bind(R.id.activity_main_tv_display)
TextView textData;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
}

@OnClick(R.id.activity_main_btn_show)

void press() {
    RemoteApi.Factory.getInstance().getModel().enqueue(new Callback<List<Model>>() {
        @Override
        public void onResponse(Call<List<Model>> call, Response<List<Model>> response) {
            textData.setText(String.valueOf(response.body()));
            Log.e("--success--", String.valueOf(response.body()));
        }

        @Override
        public void onFailure(Call<List<Model>> call, Throwable t) {
            Log.e("--fail--", t.getMessage());
        }
    });
}
}

这是我的模型

代码语言:javascript
复制
public class Model {

@SerializedName("Title")
@Expose
private String Title;
@SerializedName("Message")
@Expose
private String Message;
@SerializedName("id")
@Expose
private int id;
// getters and setters declare
}

这是我的界面

代码语言:javascript
复制
public interface RemoteApi {

String BASE_URL = "xyz/";
@GET("api/Cards")
Call<List<Model>> getModel();
class Factory {
    public static RemoteApi remoteApi;
    public static RemoteApi getInstance() {
            Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create())
                    .baseUrl(BASE_URL)
                    .build();
            remoteApi = retrofit.create(RemoteApi.class);
            return remoteApi;
        }
    }
}

我的API看起来像这样

代码语言:javascript
复制
[{
  "Title": "xyz",
  "Message": "hello",
  "id": 1
}, {
  "Title": "abc",
  "Message": "hello",
  "id": 2
}] 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 20:21:22

如果我是对的,

代码语言:javascript
复制
    public void onResponse(Call<List<Model>> call, Response<List<Model>> response) {
        textData.setText(String.valueOf(response.body()));
        Log.e("--success--", String.valueOf(response.body()));
    }

您在响应中看到的主体是一个模型对象列表。如果您想获得标题和消息值,您可能应该迭代这个列表。

编辑您可以这样迭代:

代码语言:javascript
复制
public void onResponse(Call<List<Model>> call, Response<List<Model>> response) {
    for (Model eachModel : response.body())
    {
        Log.e("--success--", eachModel.title);
    }
}

这将将每个元素的标题输出到控制台。如果要在文本视图中显示所有标题,则可能需要创建列表或重构文本视图代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36294305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档