PullToRefresh换内容
来源:互联网 发布:sql server 默认值 编辑:程序博客网 时间:2024/06/05 05:58
package com.example.yuekaomoni01;
import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
public class Main2Activity extends AppCompatActivity {
private RelativeLayout rel;
private DrawerLayout drawerLayout;
private ListView listView1;
private List<String> datas;
private TabLayout tabLayout;
String[] tabs = {"推荐","热点","体育","娱乐","社会","汽车","教育","财经","科技","游戏"};
private ViewPager vp;
private FragmentManager fm;
List<Fragont_bean.DataBean> arr = new ArrayList();
private Adapter adapter1;
private ListView lv;
private PullToRefreshListView pull;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//侧拉栏
rel = (RelativeLayout) findViewById(R.id.relayout);
//查找组件
drawerLayout = (DrawerLayout) findViewById(R.id.drlayout);
listView1 = (ListView) findViewById(R.id.lv);
//构造数据
datas = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
datas.add("侧拉菜单" + i);
}
//设置数组适配器
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datas);
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//关闭侧拉菜单
drawerLayout.closeDrawer(rel);
//打开侧拉菜单
//drawerLayout.openDrawer(rel);
//设置数据
ContentFragment01 contentFragment01 = new ContentFragment01();
Bundle bundle = new Bundle();
bundle.putString("value", datas.get(position));
contentFragment01.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.lilayout, contentFragment01).commit();
}
});
//导航栏横向滚动
tabLayout = (TabLayout) findViewById(R.id.tablayout);
for(int i=0;i<tabs.length;i++){
tabLayout.addTab(tabLayout.newTab().setText(tabs[i]));
}
//吐司
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Toast.makeText(Main2Activity.this,tab.getText(),Toast.LENGTH_SHORT).show();
if(tab.getText().equals("推荐")){
//请求推荐的网络数据
}else if(tab.getText().equals("热点")){
//请求热点的网络数据
}else{
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
//解析上拉刷新下拉加载
pull = (PullToRefreshListView) findViewById(R.id.pull);
pull.setMode(PullToRefreshBase.Mode.BOTH);
lv = pull.getRefreshableView();
adapter1 = new Adapter();
lv.setAdapter(adapter1);
new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
//上拉
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
arr.clear();
i = 0;
new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + i);
}
@Override
//下拉加载20条
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
i = i + 20;
new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + i);
}
});
}
class MyAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String string = "";
StringBuffer stringBuffer = new StringBuffer();
try {
URL url = new URL(params[0]);
URLConnection urlConnection = url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
while ((string = bufferedReader.readLine()) != null) {
stringBuffer.append(string);
}
} catch (Exception e) {
e.printStackTrace();
}
return stringBuffer.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Fragont_bean fragone_bean = new Gson().fromJson(s, Fragont_bean.class);
List<Fragont_bean.DataBean> data = fragone_bean.getData();
arr.addAll(data);
adapter1.notifyDataSetChanged();
pull.onRefreshComplete();
}
}
class Adapter extends BaseAdapter {
@Override
public int getCount() {
return arr.size();
}
@Override
public Object getItem(int position) {
return arr.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Sj sj = new Sj();
Fragont_bean.DataBean dataBean = arr.get(position);
if (convertView==null){
convertView = View.inflate(Main2Activity.this,R.layout.pulllist,null);
sj.image= (ImageView) convertView.findViewById(R.id.iv);
sj.tv= (TextView) convertView.findViewById(R.id.tv);
convertView.setTag(sj);
}else {
sj =(Sj) convertView.getTag();
}
sj.tv.setText(dataBean.getSUBTITLE());
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.showImageOnLoading(R.drawable.zhengzaijiazai)
.showImageForEmptyUri(R.drawable.zhengzaijiazai)
.showImageOnFail(R.drawable.zhengzaijiazai)
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
ImageLoader.getInstance().displayImage((String) dataBean.getIMAGEURL(),sj.image,options);
return convertView;
}
}
class Sj{
ImageView image;
TextView tv;
}
}
import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
public class Main2Activity extends AppCompatActivity {
private RelativeLayout rel;
private DrawerLayout drawerLayout;
private ListView listView1;
private List<String> datas;
private TabLayout tabLayout;
String[] tabs = {"推荐","热点","体育","娱乐","社会","汽车","教育","财经","科技","游戏"};
private ViewPager vp;
private FragmentManager fm;
List<Fragont_bean.DataBean> arr = new ArrayList();
private Adapter adapter1;
private ListView lv;
private PullToRefreshListView pull;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//侧拉栏
rel = (RelativeLayout) findViewById(R.id.relayout);
//查找组件
drawerLayout = (DrawerLayout) findViewById(R.id.drlayout);
listView1 = (ListView) findViewById(R.id.lv);
//构造数据
datas = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
datas.add("侧拉菜单" + i);
}
//设置数组适配器
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datas);
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//关闭侧拉菜单
drawerLayout.closeDrawer(rel);
//打开侧拉菜单
//drawerLayout.openDrawer(rel);
//设置数据
ContentFragment01 contentFragment01 = new ContentFragment01();
Bundle bundle = new Bundle();
bundle.putString("value", datas.get(position));
contentFragment01.setArguments(bundle);
getSupportFragmentManager().beginTransaction().replace(R.id.lilayout, contentFragment01).commit();
}
});
//导航栏横向滚动
tabLayout = (TabLayout) findViewById(R.id.tablayout);
for(int i=0;i<tabs.length;i++){
tabLayout.addTab(tabLayout.newTab().setText(tabs[i]));
}
//吐司
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Toast.makeText(Main2Activity.this,tab.getText(),Toast.LENGTH_SHORT).show();
if(tab.getText().equals("推荐")){
//请求推荐的网络数据
}else if(tab.getText().equals("热点")){
//请求热点的网络数据
}else{
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
//解析上拉刷新下拉加载
pull = (PullToRefreshListView) findViewById(R.id.pull);
pull.setMode(PullToRefreshBase.Mode.BOTH);
lv = pull.getRefreshableView();
adapter1 = new Adapter();
lv.setAdapter(adapter1);
new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
//上拉
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
arr.clear();
i = 0;
new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + i);
}
@Override
//下拉加载20条
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
i = i + 20;
new MyAsyncTask().execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=" + i);
}
});
}
class MyAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String string = "";
StringBuffer stringBuffer = new StringBuffer();
try {
URL url = new URL(params[0]);
URLConnection urlConnection = url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
while ((string = bufferedReader.readLine()) != null) {
stringBuffer.append(string);
}
} catch (Exception e) {
e.printStackTrace();
}
return stringBuffer.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Fragont_bean fragone_bean = new Gson().fromJson(s, Fragont_bean.class);
List<Fragont_bean.DataBean> data = fragone_bean.getData();
arr.addAll(data);
adapter1.notifyDataSetChanged();
pull.onRefreshComplete();
}
}
class Adapter extends BaseAdapter {
@Override
public int getCount() {
return arr.size();
}
@Override
public Object getItem(int position) {
return arr.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Sj sj = new Sj();
Fragont_bean.DataBean dataBean = arr.get(position);
if (convertView==null){
convertView = View.inflate(Main2Activity.this,R.layout.pulllist,null);
sj.image= (ImageView) convertView.findViewById(R.id.iv);
sj.tv= (TextView) convertView.findViewById(R.id.tv);
convertView.setTag(sj);
}else {
sj =(Sj) convertView.getTag();
}
sj.tv.setText(dataBean.getSUBTITLE());
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.showImageOnLoading(R.drawable.zhengzaijiazai)
.showImageForEmptyUri(R.drawable.zhengzaijiazai)
.showImageOnFail(R.drawable.zhengzaijiazai)
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
ImageLoader.getInstance().displayImage((String) dataBean.getIMAGEURL(),sj.image,options);
return convertView;
}
}
class Sj{
ImageView image;
TextView tv;
}
}
阅读全文
0 0
- PullToRefresh换内容
- pulltorefresh
- PullToRefresh
- PullToRefresh
- PullToRefresh
- PullToRefresh
- PullToRefresh
- pullToRefresh
- PullToRefresh
- PullToRefresh
- pullToRefresh
- pulltorefresh
- Pulltorefresh
- PullToRefresh
- Pulltorefresh
- PullToRefresh
- pullToRefresh
- pulltorefresh
- AngularJS增删改
- 极大极小搜索
- BaseFragment
- Mvp实现登录注册
- BaseActivity
- PullToRefresh换内容
- 添加球员
- 【数据库-MySql】按时间间隔分组查询 group by count(*) date_format
- c语言之数组
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128) 解决
- 水平分库如何做到平滑扩展
- inline和define的特点和区别
- awk 用法
- 运维集群cluster篇------1.集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群