MainActivity
import android.support.v4.app.Fragment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.HorizontalScrollView; import android.widget.ImageView; import com.example.kson.tablayout.widget.HorizontalScollTabhost; import com.example.kson.tablayout.widget.bean.CategoryBean; import com.kson.slidingmenu.SlidingMenu; import com.kson.slidingmenu.app.SlidingFragmentActivity; import org.xutils.view.annotation.ContentView; import org.xutils.view.annotation.ViewInject; import org.xutils.x; import java.util.ArrayList; import java.util.List; @ContentView(R.layout.activity_main) public class MainActivity extends SlidingFragmentActivity implements View.OnClickListener { @ViewInject(R.id.h_tabhost) HorizontalScollTabhost h_tabhost; @ViewInject(R.id.left) ImageView left; @ViewInject(R.id.right) ImageView right; private List<CategoryBean> beanList; private List<Fragment> fragmentList; private SlidingMenu menu; //别忘了设置权限 //<uses-permission android:name="android.permission.INTERNET"/> //<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> //别忘了注册APP @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); x.view().inject(this); //初始化 initView(); initMenu(); left.setOnClickListener(this); right.setOnClickListener(this); } private void initView() { //创建bean类和fragment集合 beanList = new ArrayList<>(); fragmentList = new ArrayList<>(); //添加 CategoryBean bean=new CategoryBean(); bean.id="yule"; bean.name="娱乐"; beanList.add(bean); bean=new CategoryBean(); bean.id="xinwen"; bean.name="新闻"; beanList.add(bean); bean=new CategoryBean(); bean.id="redian"; bean.name="热点"; beanList.add(bean); bean=new CategoryBean(); bean.id="kezhi"; bean.name="科技"; beanList.add(bean); bean=new CategoryBean(); bean.id="gaoxiao"; bean.name="搞笑"; beanList.add(bean); bean=new CategoryBean(); bean.id="junshi"; bean.name="军事"; beanList.add(bean); bean=new CategoryBean(); bean.id="shishang"; bean.name="时尚"; beanList.add(bean); bean=new CategoryBean(); bean.id="zhengzhi"; bean.name="政治"; beanList.add(bean); bean=new CategoryBean(); bean.id="caijing"; bean.name="财经"; beanList.add(bean); bean=new CategoryBean(); bean.id="toutiao"; bean.name="头条"; beanList.add(bean); //添加fragment fragmentList.add(new MyFragment()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1()); fragmentList.add(new Fragment1());
//必须写的一步 添加数据 h_tabhost.diaplay(beanList,fragmentList); } /** * 侧拉菜单 */ private void initMenu() { //添加左菜单 setBehindContentView(R.layout.left_content_id); getSupportFragmentManager().beginTransaction().replace(R.id.left_fl,new MyLeftFragment()).commit(); //设置属性 menu = getSlidingMenu(); menu.setMode(SlidingMenu.LEFT_RIGHT);//左右侧拉 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);//点击边缘侧拉 menu.setBehindOffsetRes(R.dimen.BehindoffsetRes); //设置右菜单 menu.setSecondaryMenu(R.layout.right_content_id); getSupportFragmentManager().beginTransaction().replace(R.id.right_fl,new MyRightFragment()).commit(); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.left: menu.showMenu(); break; case R.id.right: menu.showSecondaryMenu(); break; } } }
//多条目展示 import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * Created by robot on 2017/9/2. */ public class MyXlistAdapter extends BaseAdapter { private static final int atype=0; private static final int btype=1; private static final int num_type=2; Context context; List<BeanJson.ResultBean.DataBean> list; public MyXlistAdapter(Context context, List<BeanJson.ResultBean.DataBean> list) { this.context=context; this.list=list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getViewTypeCount() { return num_type; } @Override public int getItemViewType(int position) { if(position%2==0) { return atype; }else{ return btype; } } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type=getItemViewType(i); ViewHolder1 holder1=null; ViewHolder2 holder2=null; if(view==null) { switch (type) { case atype: holder1=new ViewHolder1(); view=LayoutInflater.from(context).inflate(R.layout.item1,null); holder1.category1=view.findViewById(R.id.tv_category1); holder1.title1=view.findViewById(R.id.tv_title1); holder1.date1=view.findViewById(R.id.tv_date1); holder1.img1=view.findViewById(R.id.iv_img1); holder1.category1.setText(list.get(i).getCategory()); holder1.title1.setText(list.get(i).getTitle()); holder1.date1.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder1.img1); view.setTag(holder1); break; case btype: holder2=new ViewHolder2(); view=LayoutInflater.from(context).inflate(R.layout.item2,null); holder2.category2=view.findViewById(R.id.tv_category2); holder2.title2=view.findViewById(R.id.tv_title2); holder2.date2=view.findViewById(R.id.tv_date2); holder2.img2=view.findViewById(R.id.iv_img2); holder2.category2.setText(list.get(i).getCategory()); holder2.title2.setText(list.get(i).getTitle()); holder2.date2.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder2.img2); view.setTag(holder2); break; } } else{ switch (type) { case atype: holder1= (ViewHolder1) view.getTag(); holder1.category1.setText(list.get(i).getCategory()); holder1.title1.setText(list.get(i).getTitle()); holder1.date1.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder1.img1); break; case btype: holder2= (ViewHolder2) view.getTag(); holder2.category2.setText(list.get(i).getCategory()); holder2.title2.setText(list.get(i).getTitle()); holder2.date2.setText(list.get(i).getDate()); ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),holder2.img2); break; } } return view; } class ViewHolder1{ ImageView img1; TextView category1,title1,date1; } class ViewHolder2{ ImageView img2; TextView category2,title2,date2; } }
Fragment类 请求网络数据 import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.google.gson.Gson; import org.xutils.common.Callback; import org.xutils.http.RequestParams; import org.xutils.x; import java.util.List; import view.xlistview.XListView; /** * Created by robot on 2017/9/2. */ public class MyFragment extends Fragment implements XListView.IXListViewListener { private List<BeanJson.ResultBean.DataBean> list; private XListView xlv_list; private MyXlistAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=View.inflate(getActivity(), R.layout.myfragment,null); xlv_list = view.findViewById(R.id.xlv_list); xlv_list.setXListViewListener(this); //支持刷新和加载 xlv_list.setPullRefreshEnable(true); xlv_list.setPullLoadEnable(true); initData(); return view; } /** * 初始化数据 */ private void initData() { RequestParams params=new RequestParams(API.GET); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { //请求成功 打印字符串 System.out.println("result============"+result); getJson(result); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); } /** * 解析json * @param result */ private void getJson(String result) { Gson gson=new Gson(); BeanJson bean = gson.fromJson(result, BeanJson.class); list = bean.getResult().getData(); for (BeanJson.ResultBean.DataBean b:list) { System.out.println("bean======="+b.getCategory()+" "+b.getTitle()+" "+b.getDate()+" "+b.getThumbnail_pic_s()); } //创建适配器 adapter = new MyXlistAdapter(getActivity(),list); xlv_list.setAdapter(adapter); } /** * 刷新 */ @Override public void onRefresh() { //重新获取网络数据进行刷新 initData(); //停止刷新和加载 xlv_list.stopLoadMore(); xlv_list.stopRefresh(); } @Override public void onLoadMore() { //添加更多的数据实现加载更多 list.addAll(list); adapter.notifyDataSetChanged(); //停止刷新和加载 xlv_list.stopLoadMore(); xlv_list.stopRefresh(); } }