2016-11-02 13 views
-1

私はアンドロイドデベロッパーの初心者です。 TextViewのテキストに基づいて特定のオブジェクトを取得し、別のTextViewに表示するには、助けが必要です。ここでTextViewに基づいて特定のJSONオブジェクトを取得

は私のJSONデータである:

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

例えば私のTextView1に、私は "123456" を持ちます。

TextView2に「100000」と表示するにはどうすればよいですか?

+0

コードは次のようになります。 'TextView1.setText(array.Index(0).value)}; TextView2.setText(array.Index(1).value);' –

答えて

0

まず、jsonのセッターとゲッターを作成します。下記のコードを参照してください。

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内のCardInfoObjとしてjson objを追加します。

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(); 
    } 
} 

Now各json objのカードIDと残高を持つmListでは、 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()); 
} 
+0

あなたのコードに基づいて、すでにjson URLがString json_url = "myurl"、 の文字列になっている場合は、それはまだ動作していますか? JSONObject jsonObject = new JSONObject(json_url); ありがとう、 – Stevry

+0

あなたのコードのおかげで、本当に助けてください、私はupvoteしたいと思いますが、私はそれについて十分な評判を持っていませんが、もし私が間違っていない場合、あなたのコードは "card_id" "、 私の目的は、(mTVCard)がnfcタグからテキストを取得している" card_id "です。したがって、mTvCardが" 123456 "の場合、mTvBalanceは" 100000 "になります。 mTvCardが「654321」の場合、mTvの残高は「50000」、 ありがとうございます。 – Stevry

+0

私はすでにあなたの答えを受け入れています。上記のケースで私をもう一度助けてくれますか?ありがとう。 – Stevry

0

jsonフィールドのデータ型を知る必要があります。 balanceがInteger型の場合、jsonから整数を抽出し、String.valueOf( "100000")を使用して文字列型に変換します。これで、テキストフィールドに値を設定できます。

関連する問題