//MainActivity
private HorizontalScrollView hs; private ViewPager viewPager; private Button button; private LinearLayout layout; List<TextView> list; private ArrayList<ChannelBean> channelBeans; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); initData(); } private void initData() { list = new ArrayList<>(); channelBeans = new ArrayList<>(); channelBeans.add(new ChannelBean("头条",true)); channelBeans.add(new ChannelBean("娱乐",true)); channelBeans.add(new ChannelBean("重庆",true)); channelBeans.add(new ChannelBean("杭州",true)); channelBeans.add(new ChannelBean("河北",true)); channelBeans.add(new ChannelBean("八卦",false)); channelBeans.add(new ChannelBean("北京",false)); channelBeans.add(new ChannelBean("科技",false)); channelBeans.add(new ChannelBean("经贸",false)); channelBeans.add(new ChannelBean("安徽",false)); for(int i =0;i<channelBeans.size();i++){ TextView textView = new TextView(this); textView.setText(channelBeans.get(i).getName()+""); textView.setTextSize(15); textView.setId(i+1000); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int id = v.getId(); viewPager.setCurrentItem(id-1000); } }); if(i==0){ textView.setTextColor(Color.RED); }else{ textView.setTextColor(Color.BLACK); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewPager.LayoutParams.WRAP_CONTENT,ViewPager.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(40,10,40,10); layout.addView(textView,layoutParams); list.add(textView); } viewPager.setAdapter(new MyAdapter(getSupportFragmentManager())); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { for(int i=0;i<list.size();i++){ if(position==i) { list.get(i).setTextColor(Color.RED); } else { list.get(i).setTextColor(Color.BLACK); } } TextView textView = list.get(position); int width = textView.getWidth()+10; hs.scrollTo(width*position,0); } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ChannelActivity.startChannelActivity(MainActivity.this,channelBeans); } }); } private void initview() { hs = findViewById(R.id.hs); layout = findViewById(R.id.linear); viewPager = findViewById(R.id.viewpager); button = findViewById(R.id.btn); } private class MyAdapter extends FragmentPagerAdapter { public MyAdapter(FragmentManager supportFragmentManager) { super(supportFragmentManager); } @Override public Fragment getItem(int position) { return Fragment01.getInstance(list.get(position).getText().toString()); } @Override public int getCount() { return list.size(); } } //Fragmeng
private View view; private String path="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=15&page="; private int page = 1; private PullToRefreshListView pull; private XBanner banner; private MyBase base; private HttpUtils httpUtils = HttpUtils.getInstance(); private List<Bean.DataBean> list = new ArrayList<>(); private List<String> imgs = new ArrayList<>(); private Handler handler = new Handler(); public static Fragment01 getInstance(String title) { Fragment01 fragment01 = new Fragment01(); Bundle bundle = new Bundle(); bundle.putString("title",title); fragment01.setArguments(bundle); return fragment01; } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment01,container,false); banner = view.findViewById(R.id.banner); Bundle a = getArguments(); String title = a.getString("title"); TextView textView = new TextView(getActivity()); textView.setText(title); imgs.add("http://img5.imgtn.bdimg.com/it/u=357293603,2414818182&fm=27&gp=0.jpg"); imgs.add("http://www.cctv.com/program/dhc/20050207/images/100815_b2.jpg"); imgs.add("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3227877552,1311244730&fm=27&gp=0.jpg"); banner.setData(imgs,null); banner.setmAdapter(new XBanner.XBannerAdapter() { @Override public void loadBanner(XBanner banner, View view, int position) { Glide.with(getActivity()).load(imgs.get(position)).into((ImageView)view); } }); initview(); initData(); return view; } private void initview() { pull = view.findViewById(R.id.pull); pull.setMode(PullToRefreshBase.Mode.BOTH); ILoadingLayout loadingLayout = pull.getLoadingLayoutProxy(true,false); loadingLayout.setPullLabel("下拉刷新"); loadingLayout.setReleaseLabel("正在刷新"); loadingLayout.setReleaseLabel("放开刷新"); ILoadingLayout layout = pull.getLoadingLayoutProxy(false,true); layout.setPullLabel("上拉加载"); layout.setRefreshingLabel("正在加载"); layout.setRefreshingLabel("放开加载"); pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { page = 1; initData(); handler.postDelayed(new Runnable() { @Override public void run() { pull.onRefreshComplete(); } },2000); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { page = page+1; initData(); handler.postDelayed(new Runnable() { @Override public void run() { pull.onRefreshComplete(); } },2000); } }); base = new MyBase(getActivity(),list); pull.setAdapter(base); } private void initData() { String url = path+page; httpUtils.getdata(url); httpUtils.setHttpLicener(new HttpUtils.HttpLicener() { @Override public void getjsondata(String json) { Gson gson = new Gson(); Bean bean = gson.fromJson(json, Bean.class); List<Bean.DataBean> data = bean.getData(); if(page==1){ list.clear(); } list.addAll(data); base.notifyDataSetChanged(); } }); }//MyBase
private Context context; private List<Bean.DataBean> list; public MyBase(Context context, List<Bean.DataBean> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView == null){ convertView = View.inflate(context,R.layout.mybase,null); holder = new ViewHolder(); holder.textView = convertView.findViewById(R.id.text); holder.imageView = convertView.findViewById(R.id.img); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.textView.setText(list.get(position).getTitle()); ImageLoader.getInstance().displayImage(list.get(position).getImg(),holder.imageView,MyAplicin.getOptions()); return convertView; } class ViewHolder{ TextView textView; ImageView imageView; }
//HttpUtils
private HttpLicener httpLicener; private static HttpUtils httpUtils; public static HttpUtils getInstance() { if(httpUtils==null){ httpUtils = new HttpUtils(); } return httpUtils; } public void getdata(String url){ MyAsynctask asynctask = new MyAsynctask(); asynctask.execute(url); } class MyAsynctask extends AsyncTask<String,Void,String> { String json = ""; @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setConnectTimeout(5000); if(urlConnection.getResponseCode()==200){ InputStream inputStream = urlConnection.getInputStream(); json = StreamToString(inputStream); } } catch (Exception e) { e.printStackTrace(); } return json; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); httpLicener.getjsondata(s); } } private String StreamToString(InputStream inputStream) throws IOException { InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader reader = new BufferedReader(inputStreamReader); String s = ""; StringBuilder builder = new StringBuilder(); while ((s=reader.readLine())!=null){ builder.append(s); } reader.close(); return builder.toString(); } public interface HttpLicener { void getjsondata(String json); } public void setHttpLicener(HttpLicener httpLicener) { this.httpLicener = httpLicener; } //MyApplice
1.ImageLoader.getInstance().init(config);
2.return options;