/**
*
*/
package edu.hebtu.movingcampus.utils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import edu.hebtu.movingcampus.R;
/**
* Description: <br/>
* This program is protected by copyright laws. <br/>
* Program Name: <br/>
* Date:
*
* @version 1.0
*/
public class JSONArrayAdapter extends BaseAdapter {
private Context ctx;
private JSONArray jsonArray;
private String property;
private boolean hasIcon;
public JSONArrayAdapter(Context ctx, JSONArray jsonArray, String property,
boolean hasIcon) {
this.ctx = ctx;
this.jsonArray = jsonArray;
this.property = property;
this.hasIcon = hasIcon;
}
@Override
public int getCount() {
return jsonArray.length();
}
@Override
public Object getItem(int position) {
return jsonArray.optJSONObject(position);
}
@Override
public long getItemId(int position) {
try {
// ������Ʒ��ID
return ((JSONObject) getItem(position)).getInt("id");
} catch (JSONException e) {
e.printStackTrace();
}
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout linear = new LinearLayout(ctx);
linear.setOrientation(0);
ImageView iv = new ImageView(ctx);
iv.setPadding(10, 0, 20, 0);
iv.setImageResource(R.drawable.icon);
linear.addView(iv);
TextView tv = new TextView(ctx);
try {
String itemName = ((JSONObject) getItem(position))
.getString(property);
tv.setText(itemName);
} catch (JSONException e) {
e.printStackTrace();
}
tv.setTextSize(20);
if (hasIcon) {
linear.addView(tv);
return linear;
} else {
tv.setTextColor(Color.BLACK);
return tv;
}
}
}