组图模块

来源:互联网 发布:网络播放器安装电视猫 编辑:程序博客网 时间:2024/06/10 10:49

使用ListView与GridView切换:


实现效果:





整体XML布局:

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:padding="5dp"    android:orientation="vertical" >    <ListView         android:id="@+id/lv_menu_groupphoto_listView"        android:layout_width="match_parent"    android:layout_height="match_parent"    android:divider="@null"    android:textAlignment="1"            />    <GridView         android:id="@+id/gv_menu_groupphoto_gridview"        android:layout_width="match_parent"    android:layout_height="match_parent"    android:numColumns="2"        ></GridView>    </FrameLayout>


局部布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <LinearLayout          android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"               >        <ImageView             android:id="@+id/iv_list_groupphoto_ImageView"            android:layout_width="match_parent"     android:layout_height="0dp"       android:layout_weight="5"          android:src="@drawable/ic_launcher"                  />        <TextView             android:id="@+id/tv_list_groupphoto_TextView"            android:layout_width="match_parent"     android:layout_height="0dp"       android:layout_weight="1"     android:text="this is a textview"     android:gravity="center"     android:textSize="22sp"            />    </LinearLayout></LinearLayout>

实现代码:

可分为 绘图, 从网络获取数据,以及数据解析,太简单,无力写注释。。。。

package com.example.zhihuibj.BaseMenuDetailPager;import java.lang.reflect.Type;import java.util.ArrayList;import com.example.zhihuibj.R;import com.example.zhihuibj.domain.PhotoData;import com.example.zhihuibj.domain.PhotoData.PhotoInfo;import com.example.zhihuibj.global.GlobalContants;import com.google.gson.Gson;import com.lidroid.xutils.BitmapUtils;import com.lidroid.xutils.HttpUtils;import com.lidroid.xutils.exception.HttpException;import com.lidroid.xutils.http.ResponseInfo;import com.lidroid.xutils.http.callback.RequestCallBack;import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;import android.app.Activity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;/* * 菜单详情页-组图 */public class PhotoMenuDetailPager extends BaseMenuDetailPager{private ListView mListView;private GridView mGridView;private ArrayList<PhotoInfo> mphotolist;private PhotoAdapter mAdapter;public PhotoMenuDetailPager(Activity mActivity) {super(mActivity);// TODO Auto-generated constructor stub}@Overridepublic View initView() {View mView=View.inflate(mActivity, R.layout.menu_groupphoto, null);mListView=(ListView) mView.findViewById(R.id.lv_menu_groupphoto_listView);mGridView=(GridView) mView.findViewById(R.id.gv_menu_groupphoto_gridview);return mView;}@Overridepublic void initData() {PhotoMenuGetDataFromService();}/* * 获取网路数据 * url还不确定 */private void PhotoMenuGetDataFromService() {HttpUtils mUtils= new HttpUtils(); mUtils.send(HttpMethod.GET, GlobalContants.PHOTOS_URL, new RequestCallBack<String>(){@Overridepublic void onSuccess(ResponseInfo<String> responseInfo) {String result  =(String) responseInfo.result;parseData(result);}@Overridepublic void onFailure(HttpException error, String msg) {Toast.makeText(mActivity, msg, Toast.LENGTH_SHORT).show();error.printStackTrace();System.out.println("TabDetailPager : 解析错误!!!");}});}/* * 解析数据 *  */public void parseData(String result){Gson gson = new Gson();    PhotoData data = gson.fromJson(result, PhotoData.class);    mphotolist=data.data.news;        if(mphotolist!=null)    {    mAdapter= new PhotoAdapter();    mGridView.setAdapter(new PhotoAdapter());            }    }public class ViewHoder{public TextView vh_mTextView;public ImageView vh_mImageView;}public class PhotoAdapter extends BaseAdapter{private ViewHoder mViewHoder;private BitmapUtils mbitmaputils;public PhotoAdapter(){ mbitmaputils = new BitmapUtils(mActivity);// mbitmaputils.configDefaultLoadingImage(R.drawable.ic_launcher);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn mphotolist.size();}@Overridepublic PhotoInfo  getItem(int position) {// TODO Auto-generated method stubreturn mphotolist.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {/* * 绘图 */if(convertView==null){convertView = View.inflate(mActivity, R.layout.list_groupphoto, null);mViewHoder=new ViewHoder();mViewHoder.vh_mTextView=(TextView) convertView.findViewById(R.id.tv_list_groupphoto_TextView);mViewHoder.vh_mImageView=(ImageView) convertView.findViewById(R.id.iv_list_groupphoto_ImageView);convertView.setTag(mViewHoder);}else{mViewHoder=(ViewHoder) convertView.getTag();}/* * 放数据 */PhotoInfo item=getItem(position);mViewHoder.vh_mTextView.setText(item.title);mbitmaputils.display(mViewHoder.vh_mImageView, item.listimage.replace("10.0.2.2", "192.168.56.1"));return convertView;}}}



0 0