首页 > 解决方案 > 如何在改造中从列表中检索值

问题描述

这是我的模块

public class SPSOnHand { 
    @SerializedName("ITEM_CODE")
    @Expose
    private String ITEM_CODE;
    @SerializedName("ITEM_DESCRIPTION")
    @Expose
    private String ITEM_DESCRIPTION;

    public String getITEM_CODE() {
        return ITEM_CODE;
    }

    public void setITEM_CODE(String item_code) {
        ITEM_CODE = item_code;
    }

    public String getITEM_DESCRIPTION() {
        return ITEM_DESCRIPTION;
    }

    public void setITEM_DESCRIPTION(String item_description) {
        ITEM_DESCRIPTION = item_description;
    }

这里是我的休息服务课

public class RestService {

    private static final String URL = "http://localhost:58364/";
    private retrofit.RestAdapter restAdapter;
    //private InstituteService apiService;
    private SPInventoryService apiService;

    public RestService()
    {
        restAdapter = new retrofit.RestAdapter.Builder()
                .setEndpoint(URL)
                .setLogLevel(retrofit.RestAdapter.LogLevel.FULL)
                .build();

        apiService = restAdapter.create(SPInventoryService.class);
    }

    public SPInventoryService getService()
    {
        return apiService;
    }

这是我的服务

@GET("/api/SPSOnHand/itemcode/{item_code}")
public void getItemCode(@Path("item_code") String itemcode, 
Callback<ArrayList<SPSOnHand>>callback);

这是我的主要活动课

        String itemcode;
        Intent intent = getIntent();
        itemcode =intent.getStringExtra("itemcode");

            restService.getService().getItemCode(itemcode, new Callback<ArrayList<SPSOnHand>>() {

                @Override
                public void success(ArrayList<SPSOnHand> spsOnHands, Response response) {
                    item_description.setText(String.valueOf(spsOnHands.get(0)));

                }

                @Override
                public void failure(RetrofitError error) {
                    Toast.makeText(AirJet.this, error.getMessage().toString(), 
                Toast.LENGTH_LONG).show();

                }
            });

在此处输入图像描述

我希望 item_description 包含这样的词

"ID": 167,
"ITEM_CODE": "3020240002",
"ITEM_DESCRIPTION": "CONTROLLER LME22.331c2 (CONTROL BOX)"

在此先感谢,我还是改装新手

标签: javaandroidretrofit

解决方案


因为String.valueOf(spsOnHands.get(0))列表的整个项目都转换为字符串,所以这就是为什么你得到错误的文本格式。

使用以下代码在 textview 中设置文本:

 int id = 0+1;
 String itemCode = arrayList.get(0).getITEM_CODE();
 String itemDescription = arrayList.get(0).getITEM_CODE();
 item_description.setText("\"ID\":"+ id+" \n\"ITEM_CODE\":" + itemCode+" \n\"ITEM_DESCRIPTION\":"+itemDescription);

您可以根据需要更改 textview 中的文本格式。


推荐阅读