Back to project page AndroidWear.
The source code is released under:
MIT License
If you think the Android project AndroidWear listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package net.alteridem.feedme; /*from w w w.ja v a2 s . com*/ import android.content.Context; import android.database.DataSetObserver; import android.graphics.Bitmap; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.TextView; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; public class RestaurantListAdapter implements ListAdapter { private String TAG = "RestaurantListAdapter"; private class Item { String title; String name; String summary; Bitmap image; } private List<Item> mItems = new ArrayList<Item>(); private Context mContext; private DataSetObserver mObserver; public RestaurantListAdapter(Context context) { mContext = context; loadRecipeList(); } private void loadRecipeList() { JSONObject jsonObject = AssetUtils.loadJSONAsset(mContext, Constants.RESTAURANT_LIST_FILE); if (jsonObject != null) { List<Item> items = parseJson(jsonObject); appendItemsToList(items); } } private List<Item> parseJson(JSONObject json) { List<Item> result = new ArrayList<Item>(); try { JSONArray items = json.getJSONArray(Constants.RESTAURANT_FIELD_LIST); for (int i = 0; i < items.length(); i++) { JSONObject item = items.getJSONObject(i); Item parsed = new Item(); parsed.name = item.getString(Constants.RESTAURANT_FIELD_NAME); parsed.title = item.getString(Constants.RESTAURANT_FIELD_TITLE); if (item.has(Constants.RESTAURANT_FIELD_IMAGE)) { String imageFile = item.getString(Constants.RESTAURANT_FIELD_IMAGE); parsed.image = AssetUtils.loadBitmapAsset(mContext, imageFile); } parsed.summary = item.getString(Constants.RESTAURANT_FIELD_SUMMARY); result.add(parsed); } } catch (JSONException e) { Log.e(TAG, "Failed to parse menu list: " + e); } return result; } private void appendItemsToList(List<Item> items) { mItems.addAll(items); if (mObserver != null) { mObserver.onChanged(); } } @Override public int getCount() { return mItems.size(); } @Override public Object getItem(int position) { return mItems.get(position); } @Override public long getItemId(int position) { return 0; } @Override public int getItemViewType(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (view == null) { LayoutInflater inf = LayoutInflater.from(mContext); view = inf.inflate(R.layout.list_item, null); } Item item = (Item) getItem(position); TextView titleView = (TextView) view.findViewById(R.id.textTitle); TextView summaryView = (TextView) view.findViewById(R.id.textSummary); ImageView iv = (ImageView) view.findViewById(R.id.imageView); titleView.setText(item.title); summaryView.setText(item.summary); if (item.image != null) { iv.setImageBitmap(item.image); } else { iv.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_noimage)); } return view; } @Override public int getViewTypeCount() { return 1; } @Override public boolean hasStableIds() { return false; } @Override public boolean isEmpty() { return mItems.isEmpty(); } @Override public void registerDataSetObserver(DataSetObserver observer) { mObserver = observer; } @Override public void unregisterDataSetObserver(DataSetObserver observer) { mObserver = null; } @Override public boolean areAllItemsEnabled() { return true; } @Override public boolean isEnabled(int position) { return true; } public String getItemName(int position) { return mItems.get(position).name; } }