TabLayout+viewpage+listView+PullTORefresh(viewpage联动listview上拉下拉)
来源:互联网 发布:荣耀7王者荣耀网络 编辑:程序博客网 时间:2024/04/27 19:08
import android.app.Application;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
public class App extends Application {
@Override
public void onCreate() {
DisplayImageOptions options = new DisplayImageOptions.Builder()
//设置图片在下载期间显示的图片
.showImageOnLoading(R.mipmap.ic_arrow_down)
.displayer(new FadeInBitmapDisplayer(2000)).cacheOnDisk(true)
//设置下载的图片是否缓存在内存中
.cacheInMemory(true).build();
ImageLoaderConfiguration configs = new ImageLoaderConfiguration.Builder(
this).defaultDisplayImageOptions(options).threadPoolSize(5)
.build();
ImageLoader.getInstance().init(configs);
super.onCreate();
}
}
===========================================
package bawe.day0918zhoukaosan;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private TabLayout tab;
private ViewPager pa;
private List<String> list=new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//查找控件
tab = (TabLayout) findViewById(R.id.tab);
pa = (ViewPager) findViewById(R.id.pager);
//福利、Android、iOS、休息视频、拓展资源、前端、all
list.add("福利");
list.add("Android");
list.add("iOS");
list.add("休息视频");
list.add("拓展资源");
list.add("前端");
list.add("all");
//tablayout和viewpager关联
tab.setupWithViewPager(pa);
//设置viewpager适配器
pa.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
//重写这个方法,将设置每个Tab的标题
@Override
public CharSequence getPageTitle(int position) {
return list.get(position);
}
@Override
public Fragment getItem(int position) {
//一般我们在这个位置对比一下标题是什么,,,然后返回对应的fragment
//初始化fragment 对应position有多少,fragment有多少
NewFragment newFragment = new NewFragment();
Bundle bundle = new Bundle();
//福利、Android、iOS、休息视频、拓展资源、前端、all
if (list.get(position).equals("福利")){
bundle.putString("name","福利");
}else if (list.get(position).equals("Android")){
bundle.putString("name","Android");
}else if (list.get(position).equals("iOS")){
bundle.putString("name","iOS");
}else if (list.get(position).equals("休息视频")){
bundle.putString("name","休息视频");
}else if (list.get(position).equals("拓展资源")){
bundle.putString("name","拓展资源");
}else if (list.get(position).equals("前端")){
bundle.putString("name","前端");
}else if (list.get(position).equals("all")){
bundle.putString("name","all");
}
//给fragment 加bundle 数据
//activity与fragment 1.getset,2.接口回调,3.setArguments ,getAraguments
newFragment.setArguments(bundle);
return newFragment;
}
@Override
public int getCount() {
return list.size();
}
});
}
}
=============================================
package bawe.day0918zhoukaosan;
import android.content.Context;
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 com.nostra13.universalimageloader.core.assist.ImageSize;
import java.util.List;
public class Myadpader extends BaseAdapter{
private List<User.ResultsBean> data;
private Context context;
public Myadpader(List<User.ResultsBean> data, Context context) {
this.data = data;
this.context = context;
}
@Override
public int getCount() {
return data.size();
}
@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) {
Hondera hondera=null;
if (view==null){
hondera = new Hondera();
view= View.inflate(context,R.layout.zidingyi,null);
hondera.name=view.findViewById(R.id.name);
hondera.img= view.findViewById(R.id.img);
view.setTag(hondera);
}else{
hondera = (Hondera) view.getTag();
}
hondera.name.setText(data.get(i).getDesc());
List<String> images = data.get(i).getImages();
if (images!=null){
if (images.size()==1){
String s = images.get(0);
ImageSize size=new ImageSize(100,100);
ImageLoader.getInstance().displayImage(s+ "?/imageView2/0/w/100",hondera.img,size);
}
}
return view;
}
class Hondera{
TextView name;
ImageView img;
}
}
==============================
package bawe.day0918zhoukaosan;
import android.os.AsyncTask;
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 android.widget.ListView;
import com.google.gson.Gson;
import com.jwenfeng.library.pulltorefresh.BaseRefreshListener;
import com.jwenfeng.library.pulltorefresh.PullToRefreshLayout;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;
public class NewFragment extends Fragment {
private ListView list;
private PullToRefreshLayout mpull;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//找到布局文件
View v = View.inflate(getActivity(), R.layout.listview, null);
//ListView控件
list = (ListView)v.findViewById(R.id.list);
mpull = v.findViewById(R.id.mpull);
mpull.setRefreshListener(new BaseRefreshListener() {
@Override
public void refresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// 结束刷新
mpull.finishRefresh();
}
}, 2000);
}
@Override
public void loadMore() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// 结束加载更多
mpull.finishLoadMore();
}
}, 2000);
}
});
return v;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle bundle = getArguments();
//接收传递过来的值
String string = bundle.getString("name", "福利");
try {
String ff = URLEncoder.encode(string, "utf-8");
//调用解析方法
Jiexi(ff);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
//解析方法
private void Jiexi(final String ff) {
//使用异步
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
String str="";
try {
URL url = new URL("http://gank.io/api/data/"+ff+"/10/1");
HttpURLConnection conne= (HttpURLConnection) url.openConnection();
conne.setConnectTimeout(5000);
conne.setReadTimeout(5000);
int responseCode = conne.getResponseCode();
if (responseCode==200){
InputStream in = conne.getInputStream();
byte[] by=new byte[1024];
int len=0;
while ((len=in.read(by))!=-1){
str+=new String(by,0,len);
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
@Override
protected void onPostExecute(String s) {
Log.d("zzz","qqqqqqqqqqqqqqqqqq"+s);
//Gson解析
Gson gson = new Gson();
User user = gson.fromJson(s, User.class);
List<User.ResultsBean> data=user.getResults();
//listview适配器
Myadpader myadpader = new Myadpader(data, getActivity());
list.setAdapter(myadpader);
super.onPostExecute(s);
}
}.execute();
}
}
- TabLayout+viewpage+listView+PullTORefresh(viewpage联动listview上拉下拉)
- pullToRefresh使用(实现listview上拉下拉)
- pullToRefresh使用(实现listview上拉下拉)
- ListView上拉下拉刷新
- ListView的上拉下拉
- 轮播图+ListView+上拉下拉
- pulltorefresh上拉下拉
- ScrollViewExtend viewpage listview
- listView里面嵌套viewPage
- Listview 和Viewpage冲突
- Tablayout+Viewpage
- TabLayout+ViewPage
- TabLayout+ViewPage
- TabLayout顶部导航栏+ViewPage实现联动
- Tablayout与Viewpage实现联动效果
- listview 上拉下拉刷新Demo
- android ListView 上拉下拉变黑解决办法。
- 《ReactNative》之ListView上拉下拉刷新
- 如何在VPP中添加graph node
- VS与boost使用的tips
- c++字符串小结
- HTML第一天学习总结
- VC++中list::list的使用方法总结
- TabLayout+viewpage+listView+PullTORefresh(viewpage联动listview上拉下拉)
- 这可能是目前最方便的网站中英文切换(理论支持所有语言)
- 数据库中的自然连接、选择、投影
- Android学习资源分享合集(1)-视频资源,记忆资源
- framework xxx not found
- 实用软件推荐(持续总结更新)
- Javascript:history.go()和history.back()的用法和区别
- Spring MVC 教程,快速入门,深入分析
- 简单的理解session 和 cookie