侧拉横滑相关的小demo

来源:互联网 发布:713中美南海对峙知乎 编辑:程序博客网 时间:2024/06/10 15:43
注意要写权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>App注册(xutils方法用到app): android:name=".api.AppImage"AppActivity:import android.app.Application;import org.xutils.x;public class AppImage extends Application {    @Override    public void onCreate() {        super.onCreate();        x.Ext.init(this);    }}MainActivity:package com.bwie.zhoukaoa;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.View;import android.view.Window;import android.widget.ImageView;import com.bwie.zhoukaoa.fragment.LeftFragment;import com.bwie.zhoukaoa.fragment.MyFragment;import com.bwie.zhoukaoa.fragment.rigthFragment;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.main_tabhost)  HorizontalScollTabhost main_host;    @ViewInject(R.id.image_left) ImageView image_left;    @ViewInject(R.id.image_rigth)ImageView image_rigth;    private List<CategoryBean> listbean;    private List<Fragment> listFragment;    //bean类    private CategoryBean news;    private SlidingMenu menu;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//删除标题title        this.requestWindowFeature(Window.FEATURE_NO_TITLE);//一定要记住写这句话        x.view().inject(this);        //初始化host        initView();        //左右滑        initMenu();        initClick();    }    /**     * 点击事件的方法     */    private void initClick() {        image_left.setOnClickListener(this);        image_rigth.setOnClickListener(this);    }    /**     * 获取mainhost     */    private void initView() {        listFragment =new ArrayList<>();        listbean=new ArrayList<>();        news = new CategoryBean();        news.id="toutiao";        news.name="头条";        listbean.add(news);        news = new CategoryBean();        news.id="yule";        news.name="娱乐";        listbean.add(news);        news = new CategoryBean();        news.id="qiguan";        news.name="奇观";        listbean.add(news);        news = new CategoryBean();        news.id="toutiao";        news.name="头条";        listbean.add(news);        news = new CategoryBean();        news.id="caijing";        news.name="财经";        listbean.add(news);        news = new CategoryBean();        news.id="xinwen";        news.name="新闻";        listbean.add(news);        news = new CategoryBean();        news.id="yilaio";        news.name="医疗";        listbean.add(news);        news = new CategoryBean();        news.id="junshi";        news.name="军事";        listbean.add(news);        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        listFragment.add(new MyFragment());        main_host.diaplay(listbean,listFragment);    }    /**     * 左右滑     */    private void initMenu() {        //左        setBehindContentView(R.layout.item_left);        getSupportFragmentManager().beginTransaction().replace(R.id.item_left,new LeftFragment()).commit();        //侧拉        menu = getSlidingMenu();        menu.setMode(SlidingMenu.LEFT_RIGHT);        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);        menu.setBehindOffsetRes(R.dimen.TabHost);注意这里的:R.dimen.TabHost:是 dimen.xml中的方法(TabHost):<resources> <dimen name="TabHost">50dp</dimen></resources>        //右        menu.setSecondaryMenu(R.layout.item_rigth);        getSupportFragmentManager().beginTransaction().replace(R.id.item_rigth,new rigthFragment()).commit();    }    /**     * 点击事件     * @param view     */    @Override    public void onClick(View view) {        switch (view.getId()){            case R.id.image_left:                menu.showMenu();                break;            case R.id.image_rigth:                menu.showSecondaryMenu();                break;        }    }}MyFragment的方法中:import android.os.Bundle;import android.os.Handler;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import com.bwie.zhoukaoa.R;import com.bwie.zhoukaoa.adapter.MyAdapter;import com.bwie.zhoukaoa.api.HorizontalURL;import com.bwie.zhoukaoa.bean.NewsBean;import com.google.gson.Gson;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.view.annotation.ContentView;import org.xutils.view.annotation.ViewInject;import org.xutils.x;import java.util.List;import view.xlistview.XListView;@ContentView(R.layout.fragment_xlist)public class MyFragment extends Fragment implements XListView.IXListViewListener{    @ViewInject(R.id.xlistView)    XListView xListView;    private View view;    private NewsBean bean;    private List<NewsBean.DataBean> list;    private MyAdapter adapter;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        if(view==null){            view= x.view().inject(this,inflater,container);        }        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        addAdapter();    }    //获取数据并且添加到适配器    public void addAdapter()    {        RequestParams params=new RequestParams(HorizontalURL.GET_URL);        x.http().get(params, new Callback.CommonCallback<String>() {            @Override            public void onSuccess(String result) {                Gson gson=new Gson();                bean = gson.fromJson(result.toString(), NewsBean.class);                list = bean.getData();//适配器                adapter = new MyAdapter(getActivity(),list);                xListView.setAdapter(adapter);//加载                xListView.setPullLoadEnable(true);//刷新                xListView.setPullRefreshEnable(true);                xListView.setXListViewListener(MyFragment.this);            }            @Override            public void onError(Throwable ex, boolean isOnCallback) {            }            @Override            public void onCancelled(CancelledException cex) {            }            @Override            public void onFinished() {            }        });    }    //添加数据的方法    private void addData()    {        RequestParams params=new RequestParams(HorizontalURL.GET_URL);        x.http().get(params, new Callback.CommonCallback<String>() {            @Override            public void onSuccess(String result) {                Gson gson=new Gson();                bean = gson.fromJson(result.toString(), NewsBean.class);                List<NewsBean.DataBean> newsBeen = bean.getData();//将新获取到的集合添加到原集合中                list.addAll(newsBeen);//刷新适配器                adapter.notifyDataSetChanged();            }            @Override            public void onError(Throwable ex, boolean isOnCallback) {            }            @Override            public void onCancelled(CancelledException cex) {            }            @Override            public void onFinished() {            }        });    }    private Handler handler=new Handler();    //下拉刷新    @Override    public void onRefresh() {        handler.postDelayed(new Runnable() {            @Override            public void run() {                //获取数据并且添加到适配器的方法addAdapter();Log.i("xxx","刷新成功!");//停止刷新xListView.stopRefresh();//停止加载xListView.stopLoadMore();            }        },3000);    }    //上拉加载    @Override    public void onLoadMore() {        //        handler.postDelayed(new Runnable() {            @Override            public void run() {             //添加数据的方法addData();Log.i("xxx","添加成功!");//停止刷新xListView.stopRefresh();//停止加载xListView.stopLoadMore();            }        },3000);    }}


 
原创粉丝点击