リストビューでJSONデータを表示しています。JSON配列を解析して3つの値を取得しています。
- time 、形式は (8/1/2013 12:30:00 PM)
- place 、文字列形式です
- address 、文字列形式です
これらのイベントは 2013 年 8 月 1 日にヘッダー名の下に日付 "8/1/2013" として表示され、別の日付のエントリはそれぞれのセクションの下に適切な日付で表示されるため、ヘッダーを表示したいと思います。
私のコードの一部:
ArrayList<RidesValue> alrides = new ArrayList<RidesValue>();
List<String> rides = new ArrayList<String>();
ListView listView;
public class RidesValue
{
String time;
String place;
String address;
}
public void displaylist(String time, String place, String address)
{
RidesValue rideval = new RidesValue();
rideval.time = time;
rideval.place = place;
rideval.address = address;
alrides.add(rideval);
rides.add("Time: " + time + "\nPlace: " + place
+ "\nAddress: " + address);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.simplelist, rides);
listView = (ListView) findViewById(R.id.lvride);
listView.setAdapter(adapter);
}
json 配列から単一の配列を解析するたびに、displaylist メソッドを呼び出します。
JSONArray jarray = new JSONArray(savedresponse);
if(jarray.length() == 0)
Toast.makeText(this, "Sorry no rides found", Toast.LENGTH_SHORT).show();
Log.i("JSON ARRAY",String.valueOf(jarray));
for(int i=0; i<jarray.length(); i++)
{
JSONObject value = jarray.getJSONObject(i);
time = value.getString("Time");
place = value.getString("Place");
address = value.getString("Address");
displaylist(time, place,address);
}
だから問題は、どこにどのようにどのコードを配置するかです。そのため、リストビューのヘッダーとして日付の下でエントリをグループ化します