fragment ,轮播 实现
来源:互联网 发布:程序员入门书籍 编辑:程序博客网 时间:2024/06/06 02:13
package com.example.administrator.cr_yk1.Fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.text.LoginFilter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.example.administrator.cr_yk1.Myadaptervp;
import com.example.administrator.cr_yk1.R;
import com.example.administrator.cr_yk1.bean.BBnn;
import com.example.administrator.cr_yk1.bean.Been;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/8/22.
*/
public class Fragment1 extends Fragment {
ViewPager vp;
ArrayList<String> li;
LinearLayout do_layout;
int currpostion;
ListView lv;
BBnn been;
Myadapter dadpter;
//===========定义的线程
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
currpostion++;
vp.setCurrentItem(currpostion);
handler.sendEmptyMessageDelayed(0,2000);
super.handleMessage(msg);
}
};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=View.inflate(getActivity(), R.layout.f1,null);
//Viewpagerde轮播=============
vp=(ViewPager) view.findViewById(R.id.vp);
do_layout=(LinearLayout) view.findViewById(R.id.dot_layout);
li=new ArrayList<>();
inid();
indot();
//创建Myadaptervp的对象
Myadaptervp ada=new Myadaptervp(getActivity(),li);
vp.setAdapter(ada);
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
for(int i=0;i<do_layout.getChildCount();i++)
{
ImageView iv=(ImageView) do_layout.getChildAt(i);
if(i==position%li.size())
{
iv.setImageResource(R.drawable.dot_select);
}else {
iv.setImageResource(R.drawable.dot_normal);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
handler.sendEmptyMessageDelayed(0,2000);
//===============ImageLoaderConfiguration 的初始化============
ImageLoaderConfiguration config=ImageLoaderConfiguration.createDefault(getActivity());
ImageLoader.getInstance().init(config);
DisplayImageOptions options=DisplayImageOptions.createSimple();
//========================ListView==============
lv=(ListView) view.findViewById(R.id.lv);
intoData();
dadpter=new Myadapter();
lv.setAdapter(dadpter);
return view;
}
//小圆点的操作
private void indot() {
for(int i=0;i<li.size();i++)
{
ImageView iv=new ImageView(getActivity());
if(i==0)
{
iv.setImageResource(R.drawable.dot_select);
}else {
iv.setImageResource(R.drawable.dot_normal);
}
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20);
params.setMargins(10,5,10,5);
do_layout.addView(iv,params);
}
}
//添加集合的图片
private void inid() {
li.add("http://image.wufazhuce.com/FuPgOcbGDD9__fyuCdPBXb5pbA1C");
li.add("http://image.wufazhuce.com/Fu6o0fqKHsI_TjdpPX3N2Kc99vNP");
li.add("http://image.wufazhuce.com/FmDRnQ1XhReHRHB4jYqAPSx8htsP");
li.add("http://image.wufazhuce.com/FvVmWbqlle7jlUCTeozoval9NyBH");
}
//lv的适配器
class Myadapter extends BaseAdapter{
@Override
public int getCount() {
if(been!=null)
{
return been.getData().size();
}
return 0;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder;
if(view==null)
{
holder=new ViewHolder();
view=View.inflate(getActivity(),R.layout.f1_item,null);
holder.tv=(TextView) view.findViewById(R.id.tv);
holder.tv22=(TextView) view.findViewById(R.id.tv22);
holder.iv=(ImageView) view.findViewById(R.id.iv);
view.setTag(holder);
}else {
holder=(ViewHolder) view.getTag();
}
holder.tv.setText(been.getData().get(i).getTitle());
holder.tv22.setText(been.getData().get(i).getContent());
ImageLoader.getInstance().displayImage(been.getData().get(i).getImage_url(),holder.iv);
return view;
}
}
class ViewHolder{
ImageView iv;
TextView tv;
TextView tv22;
}
//实际操作的方法
private void intoData(){
new AsyncTask<String,String,String>(){
@Override
protected String doInBackground(String... strings) {
String sss=gethtturl();
return sss;
}
@Override
protected void onPostExecute(String s) {
Gson gson=new Gson();
been=gson.fromJson(s,BBnn.class);
dadpter.notifyDataSetChanged();
super.onPostExecute(s);
}
}.execute();
}
//网络获取的11111
private String gethtturl(){
String getstr="";
try {
URL url=new URL("http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=one");
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int code=connection.getResponseCode();
if(code==200)
{
InputStream inputStream=connection.getInputStream();
ByteArrayOutputStream bos=new ByteArrayOutputStream();
byte[] b=new byte[1024];
int len=-1;
while ((len=inputStream.read(b))!=-1)
{
bos.write(b,0,len);
}
getstr=new String(bos.toByteArray());
}
} catch (Exception e) {
e.printStackTrace();
}
return getstr;
}
}
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.text.LoginFilter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.example.administrator.cr_yk1.Myadaptervp;
import com.example.administrator.cr_yk1.R;
import com.example.administrator.cr_yk1.bean.BBnn;
import com.example.administrator.cr_yk1.bean.Been;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/8/22.
*/
public class Fragment1 extends Fragment {
ViewPager vp;
ArrayList<String> li;
LinearLayout do_layout;
int currpostion;
ListView lv;
BBnn been;
Myadapter dadpter;
//===========定义的线程
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
currpostion++;
vp.setCurrentItem(currpostion);
handler.sendEmptyMessageDelayed(0,2000);
super.handleMessage(msg);
}
};
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=View.inflate(getActivity(), R.layout.f1,null);
//Viewpagerde轮播=============
vp=(ViewPager) view.findViewById(R.id.vp);
do_layout=(LinearLayout) view.findViewById(R.id.dot_layout);
li=new ArrayList<>();
inid();
indot();
//创建Myadaptervp的对象
Myadaptervp ada=new Myadaptervp(getActivity(),li);
vp.setAdapter(ada);
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
for(int i=0;i<do_layout.getChildCount();i++)
{
ImageView iv=(ImageView) do_layout.getChildAt(i);
if(i==position%li.size())
{
iv.setImageResource(R.drawable.dot_select);
}else {
iv.setImageResource(R.drawable.dot_normal);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
handler.sendEmptyMessageDelayed(0,2000);
//===============ImageLoaderConfiguration 的初始化============
ImageLoaderConfiguration config=ImageLoaderConfiguration.createDefault(getActivity());
ImageLoader.getInstance().init(config);
DisplayImageOptions options=DisplayImageOptions.createSimple();
//========================ListView==============
lv=(ListView) view.findViewById(R.id.lv);
intoData();
dadpter=new Myadapter();
lv.setAdapter(dadpter);
return view;
}
//小圆点的操作
private void indot() {
for(int i=0;i<li.size();i++)
{
ImageView iv=new ImageView(getActivity());
if(i==0)
{
iv.setImageResource(R.drawable.dot_select);
}else {
iv.setImageResource(R.drawable.dot_normal);
}
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20);
params.setMargins(10,5,10,5);
do_layout.addView(iv,params);
}
}
//添加集合的图片
private void inid() {
li.add("http://image.wufazhuce.com/FuPgOcbGDD9__fyuCdPBXb5pbA1C");
li.add("http://image.wufazhuce.com/Fu6o0fqKHsI_TjdpPX3N2Kc99vNP");
li.add("http://image.wufazhuce.com/FmDRnQ1XhReHRHB4jYqAPSx8htsP");
li.add("http://image.wufazhuce.com/FvVmWbqlle7jlUCTeozoval9NyBH");
}
//lv的适配器
class Myadapter extends BaseAdapter{
@Override
public int getCount() {
if(been!=null)
{
return been.getData().size();
}
return 0;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder;
if(view==null)
{
holder=new ViewHolder();
view=View.inflate(getActivity(),R.layout.f1_item,null);
holder.tv=(TextView) view.findViewById(R.id.tv);
holder.tv22=(TextView) view.findViewById(R.id.tv22);
holder.iv=(ImageView) view.findViewById(R.id.iv);
view.setTag(holder);
}else {
holder=(ViewHolder) view.getTag();
}
holder.tv.setText(been.getData().get(i).getTitle());
holder.tv22.setText(been.getData().get(i).getContent());
ImageLoader.getInstance().displayImage(been.getData().get(i).getImage_url(),holder.iv);
return view;
}
}
class ViewHolder{
ImageView iv;
TextView tv;
TextView tv22;
}
//实际操作的方法
private void intoData(){
new AsyncTask<String,String,String>(){
@Override
protected String doInBackground(String... strings) {
String sss=gethtturl();
return sss;
}
@Override
protected void onPostExecute(String s) {
Gson gson=new Gson();
been=gson.fromJson(s,BBnn.class);
dadpter.notifyDataSetChanged();
super.onPostExecute(s);
}
}.execute();
}
//网络获取的11111
private String gethtturl(){
String getstr="";
try {
URL url=new URL("http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=one");
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int code=connection.getResponseCode();
if(code==200)
{
InputStream inputStream=connection.getInputStream();
ByteArrayOutputStream bos=new ByteArrayOutputStream();
byte[] b=new byte[1024];
int len=-1;
while ((len=inputStream.read(b))!=-1)
{
bos.write(b,0,len);
}
getstr=new String(bos.toByteArray());
}
} catch (Exception e) {
e.printStackTrace();
}
return getstr;
}
}
阅读全文
0 0
- fragment ,轮播 实现
- 小圆点和Viewpager+fragment实现轮播
- Fragment 里面的轮播
- 轮播与fragment联动
- drawerlayout+tablelayout+fragment+轮播
- Fragment传值-ImagView轮播
- 子fragment无限轮播
- Android fragment中广告图片轮播效果的实现(附图 )
- viewpager+fragment最简单的轮播
- Activity Fragment 相关 ViewPager轮播 相关
- fragment+Xlistview+viewpager无限轮播+imageloader
- 综合练习(轮播+Fragment+xlistView)
- 京东fragment和无限轮播
- Fragment+Fragment上的自动无限轮播+XListView
- ViewPager实现轮播
- 实现图片轮播
- ViewPager实现轮播
- 轮播实现
- EL表达式 (详解)
- java Object类型的参数
- js学习(17)----callee和caller
- 轮播+列表的布局
- servlet与spring配置心得
- fragment ,轮播 实现
- [BZOJ2816][ZJOI2012]网络(LCT)
- 一些优秀的网站(持续更新)
- 文件链接命令
- 【STL】容器 > 顺序容器 > string 容器
- python 面向对象 关于init方法和del方法
- jsp。8.26总结(附导入jstl标签库)
- poj 3267
- 简单知识——跨页面信息传递