你好,我正在尝试使用改装,一切都很好。但我得到的输出是这样的。examples.sewoyebah.com.retrofit.model.Model@41ce7408,examples.sewoyebah.com.retrofit.model.Model@41ce7698
这是我的MainActivity
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());
}
});
}
}这是我的模型
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
}这是我的界面
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看起来像这样
[{
"Title": "xyz",
"Message": "hello",
"id": 1
}, {
"Title": "abc",
"Message": "hello",
"id": 2
}] 发布于 2016-03-29 20:21:22
如果我是对的,
public void onResponse(Call<List<Model>> call, Response<List<Model>> response) {
textData.setText(String.valueOf(response.body()));
Log.e("--success--", String.valueOf(response.body()));
}您在响应中看到的主体是一个模型对象列表。如果您想获得标题和消息值,您可能应该迭代这个列表。
编辑您可以这样迭代:
public void onResponse(Call<List<Model>> call, Response<List<Model>> response) {
for (Model eachModel : response.body())
{
Log.e("--success--", eachModel.title);
}
}这将将每个元素的标题输出到控制台。如果要在文本视图中显示所有标题,则可能需要创建列表或重构文本视图代码。
https://stackoverflow.com/questions/36294305
复制相似问题