編輯:關於android開發
public class AppFragment extends BaseFragment { ArrayList<AppInfo> mList = null; @Override public View onCreateSuccessView() { MyListView view = new MyListView(UIUtils.getContext()); view.setAdapter(new AppAdapter(mList)); return view; } @Override public ResultState onLoad() { AppProtocol protocol = new AppProtocol(); mList = protocol.getData(0); return check(mList); } class AppAdapter extends MyBaseAdapter<AppInfo> { public AppAdapter(ArrayList<AppInfo> list) { super(list); } @Override public BaseHolder<AppInfo> getHolder(int position) { return new AppHolder(); } @Override public ArrayList<AppInfo> onLoadMore() { AppProtocol protocol = new AppProtocol(); ArrayList<AppInfo> moreData = protocol.getData(getListSize()); return moreData; } } } -------------------------------------- /** * 應用頁訪問網絡 * * @author Kevin * */ public class AppProtocol extends BaseProtocol<ArrayList<AppInfo>> { private ArrayList<AppInfo> mAppList;// 應用列表集合 @Override public String getKey() { return "app"; } @Override public String getParams() { return ""; } @Override public ArrayList<AppInfo> parseJson(String result) { try { JSONArray ja = new JSONArray(result); mAppList = new ArrayList<AppInfo>(); for (int i = 0; i < ja.length(); i++) { AppInfo info = new AppInfo(); JSONObject jo1 = (JSONObject) ja.get(i); info.des = jo1.getString("des"); info.downloadUrl = jo1.getString("downloadUrl"); info.iconUrl = jo1.getString("iconUrl"); info.id = jo1.getString("id"); info.name = jo1.getString("name"); info.packageName = jo1.getString("packageName"); info.size = jo1.getLong("size"); info.stars = jo1.getDouble("stars"); mAppList.add(info); } return mAppList; } catch (Exception e) { e.printStackTrace(); } return null; } } ----------------------------------- /** * 應用頁holder * * @author Kevin * */ public class AppHolder extends BaseHolder<AppInfo> { private TextView tvName; private ImageView ivIcon; private TextView tvSize; private TextView tvDesc; private RatingBar rbStar; private BitmapUtils mBitmapUtils; @Override public View initView() { View view = View.inflate(UIUtils.getContext(), R.layout.list_item_home, null); tvName = (TextView) view.findViewById(R.id.tv_name); ivIcon = (ImageView) view.findViewById(R.id.iv_icon); tvSize = (TextView) view.findViewById(R.id.tv_size); tvDesc = (TextView) view.findViewById(R.id.tv_desc); rbStar = (RatingBar) view.findViewById(R.id.rb_star); mBitmapUtils = BitmapHelper.getBitmapUtils(); mBitmapUtils.configDefaultLoadingImage(R.drawable.ic_default); return view; } @Override public void refreshView(AppInfo data) { if (data != null) { tvName.setText(data.name); tvSize.setText(Formatter.formatFileSize(UIUtils.getContext(), data.size)); tvDesc.setText(data.des); rbStar.setRating((float) data.stars); mBitmapUtils.display(ivIcon, HttpHelper.URL + "image?name=" + data.iconUrl); } } }
使用自定義的item、Adapter和AsyncTask、第三方開源框架PullToRefresh聯合使用實現自定義的下拉列表(從網絡加載圖片顯示在item中的Image
圓形背景的TextView,圓形背景TextView【應用場景】: 【需要的xml】:shape_circle.xml <?xml version=1.0 enc
面面具到!android重力傳感器,前兩篇都是向大家介紹了很有意思的兩種手勢操作,嵌入我們游戲中,不得不說讓游戲的自由度、可玩性和趣味性都增色不少!那麼今天繼續給大家介紹
(試筆)一、Android四大框架之ContentProvider的學習與運用,實現SQLite的增刪改查。,安卓sqlite增刪改查本文系原創博客,文中不妥煩請指出,如