基于TextView

时间:2016-11-02 07:17:32

标签: android json

我是Android开发人员的新手 我需要帮助才能根据TextView上的文本获取特定对象,并在另一个TextView上显示它。

这是我的JSON数据:

{
    "card_data": [{
        "card_id": "123456",
        "balance": "100000"
    }, {
        "card_id": "654321",
        "balance": "50000"
    }]
}

例如,在TextView1我有" 123456"。

如何显示" 100000"在TextView2

2 个答案:

答案 0 :(得分:0)

您需要知道json字段的数据类型。如果balance是Integer类型,则从json中提取整数,并使用String.valueOf(“100000”)将其转换为字符串类型。现在,您可以在文本字段中设置值。

答案 1 :(得分:0)

首先为你的json创建setter和getter。见下面的代码。

private class CardInfo
{
    private String cardId;
    private String balance;

    public CardInfo(String cardId, String balance) {
        this.cardId = cardId;
        this.balance = balance;
    }

    public String getCardId() {
        return cardId;
    }

    public String getBalance() {
        return balance;
    }
}

然后为您的Json对象创建JsonParser,并在ArrayList中将json obj添加为CardInfoObj。

private ArrayList<CardInfo> mList = new ArrayList<>();
private void jsonParser()
{

    try {
        JSONObject jsonObject = new JSONObject("{\n" +
                "\t\"card_data\": [{\n" +
                "\t\t\"card_id\": \"123456\",\n" +
                "\t\t\"balance\": \"100000\"\n" +
                "\t}, {\n" +
                "\t\t\"card_id\": \"654321\",\n" +
                "\t\t\"balance\": \"50000\"\n" +
                "\t}]\n" +
                "}");
        JSONArray jsonArray = jsonObject.getJSONArray("card_data");
        for(int i=0;i<jsonArray.length(); i++)
        {
            JSONObject user = jsonArray.getJSONObject(i);
            mList.add(new CardInfo(user.get("card_id").toString(), user.get("balance").toString()));
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

现在在mList中有cardId和每个json obj的余额。现在从mList获得cardinfo obj。

private void setText()
{
    CardInfo cardInfo = mList.get(0);// get specfice obj based on your requirement.
    mTvCard.setText(cardInfo.getCardId());
    mTvBalance.setText(cardInfo.getBalance());
}