2013-09-20 3 views
-3

Я первый хранение JSON массив «дата» в arratstring и соответствовать моей дате со списком, если спичка затем показать «название» название этой даты после этой строки if (Vacation_Date.contains(mydate)) {Как получить JSon имя массива, если матч с условием

Я хочу напечатать только то, что значение, которое соответствует, что название заголовка дата в TextView, что я буду делать, помогите мне, пожалуйста

static ArrayList<Long> Vacation_ID = new ArrayList<Long>(); 
static ArrayList<String> Vacation_name = new ArrayList<String>(); 
static ArrayList<String> Vacation_Date = new ArrayList<String>(); 
     JSONObject json3 = new JSONObject(str2); 
     status = json3.getString("status"); 
     if (status.equals("1")) { 
     JSONArray school = json3.getJSONArray("data"); 
     for (int k = 0; k < school.length(); k++) { 
      JSONObject jb = (JSONObject) school.getJSONObject(k); 
      Vacation_ID.add((long) k); 
        Vacation_Date.add(jb.getString("date")); 
      } 
     } 

Strong массив «дата» из файла JSON в Vacation_Date. Теперь я сравниваю свою дату с Vacation_Date и проверяю свою дату, если она существует в Vacation_Date, и покажите ее название в textview.

if (Vacation_Date.contains(mydate))  

// теперь, что я сделать, чтобы показать название заголовка даты матча

textview.settext ("title name of match date")' 
} 

JSON

{"status":1, 
"data": 
[ 
    {"id":"1", 
    "title":"abc", 
    "date":"2013-09-29"}, 

    {"id":"2", 
    "title":"abc1", 
    "date":"2013-09-25"}, 

    {"id":"3", 
    "title":"abc", 
    "date":"2013-10-05"}, 

    {"id":"4", 
    "title":"abc1", 
    "date":"2013-09-27"} 
] 
} 
+0

вы можете форматировать ваш код. – Raghunandan

+0

Значение mydate - «2013-09-25», поэтому как я покажу только текстовое название даты «2013-09-25» из файла json –

+0

, в чем проблема при отображении его в текстовом виде. проблема в разборе? – Raghunandan

ответ

2

Давайте предположим, что вы хотите, чтобы отобразить название, когда дата равна : 2013-10-05, поэтому создайте метод для возврата названия, выполнив поиск в jsonArray с условием атрибута даты:

public String getTitleForDate(String searchDate) { 
    for (int i=0; i<array.length; i++) { 
     JSONObject json = array.getJSONObject(i); 
     String date = json.optString("date"); 
     if(date != null && searchDate.equals(date)) { 
      return json.optString("title"); 
     } 
    } 
    return null; 
} 

, а затем отобразить название в TextView, как это:

if(Vacation_Date.contains(mydate)) { 
String title = getTitleForDate(mydate); // i.e : in the case of mydate = "2013-10-05", it will return "abc" title 
if(title != null) 
    yourTextView.setText(title); 
} 
+0

wherei place function внутри этого оператора if if (Vacation_Date.contains (mydate)) –

+0

скажите мне в отношении моего кода скажите мне, что я делаю после этой строки if (Vacation_Date.contains (mydate)) показать совпадение даты с названием в текстовом представлении? я меняю свой код выше check –

+1

@smartguy: после того, как условие if вы разместите этот код и в методе передайте объект даты. String title = getTitleForDate ("2013-10-05"); // он вернет заголовок «abc» if (title! = null) yourTextView.setText (заголовок); – Thalaivar

Смежные вопросы