我是Android开发人员的新手 我需要帮助才能根据TextView上的文本获取特定对象,并在另一个TextView上显示它。
这是我的JSON数据:
{
"card_data": [{
"card_id": "123456",
"balance": "100000"
}, {
"card_id": "654321",
"balance": "50000"
}]
}
例如,在TextView1
我有" 123456"。
如何显示" 100000"在TextView2
?
答案 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());
}