package com.example.lianxi;
import java.util.ArrayList;
import java.util.List;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioButton;
import com.example.fragment.Fragment01;
import com.example.fragment.Fragment02;
import com.example.fragment.Fragment03;
import com.example.fragment.Fragment04;
public class MainActivity extends FragmentActivity implements OnClickListener{
private ViewPager mypager;
RadioButton but1,but2,but3,but4;
private View v1,v2,v3,v4;
private List<Fragment> fragmentlist;
String[] str = {
"http://www.oschina.net/action/api/news_list?catelog=1&pageIndex=1",
"http://www.oschina.net/action/api/news_list?catelog=4&show=week&pageIndex=1",
"http://www.oschina.net/action/api/blog_list?type=latest&pageIndex=1",
"http://www.oschina.net/action/api/blog_list?type=recommend&pageIndex=1" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mypager=(ViewPager) findViewById(R.id.mypager);
init();
initfragmnet();
setSelect(0);
FragmentManager fm=getSupportFragmentManager();
mypager.setAdapter(new FragmentPagerAdapter(fm) {
@Override
public int getCount() {
// TODO Auto-generated method stub
return fragmentlist.size();
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return fragmentlist.get(arg0);
}
});
mypager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
setSelect(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
private void setSelect(int position) {
// TODO Auto-generated method stub
switch (position) {
case 0:
but1.setTextColor(Color.RED);
but2.setTextColor(Color.BLACK);
but3.setTextColor(Color.BLACK);
but4.setTextColor(Color.BLACK);
v1.setVisibility(View.VISIBLE);
v2.setVisibility(View.INVISIBLE);
v3.setVisibility(View.INVISIBLE);
v4.setVisibility(View.INVISIBLE);
break;
case 1:
but1.setTextColor(Color.BLACK);
but2.setTextColor(Color.RED);
but3.setTextColor(Color.BLACK);
but4.setTextColor(Color.BLACK);
v1.setVisibility(View.INVISIBLE);
v2.setVisibility(View.VISIBLE);
v3.setVisibility(View.INVISIBLE);
v4.setVisibility(View.INVISIBLE);
break;
case 2:
but1.setTextColor(Color.BLACK);
but2.setTextColor(Color.BLACK);
but3.setTextColor(Color.RED);
but4.setTextColor(Color.BLACK);
v1.setVisibility(View.INVISIBLE);
v2.setVisibility(View.INVISIBLE);
v3.setVisibility(View.VISIBLE);
v4.setVisibility(View.INVISIBLE);
break;
case 3:
but1.setTextColor(Color.BLACK);
but2.setTextColor(Color.BLACK);
but3.setTextColor(Color.BLACK);
but4.setTextColor(Color.RED);
v1.setVisibility(View.INVISIBLE);
v2.setVisibility(View.INVISIBLE);
v3.setVisibility(View.INVISIBLE);
v4.setVisibility(View.VISIBLE);
break;
}
}
private void initfragmnet() {
// TODO Auto-generated method stub
fragmentlist=new ArrayList<Fragment>();
// Fragment01 fm01=new Fragment01();
// Fragment02 fm02=new Fragment02();
// Fragment03 fm03=new Fragment03();
// Fragment04 fm04=new Fragment04();
// fragmentlist.add(fm01);
// fragmentlist.add(fm02);
// fragmentlist.add(fm03);
// fragmentlist.add(fm04);
for (int i = 0; i < str.length; i++) {
fragmentlist.add(new Fragment01(str[i],i));
}
}
@SuppressLint("NewApi")
private void init() {
// TODO Auto-generated method stub
but1=(RadioButton) findViewById(R.id.but1);
but2=(RadioButton) findViewById(R.id.but2);
but3=(RadioButton) findViewById(R.id.but3);
but4=(RadioButton) findViewById(R.id.but4);
v1=findViewById(R.id.v1);
v2=findViewById(R.id.v2);
v3=findViewById(R.id.v3);
v4=findViewById(R.id.v4);
but1.setOnClickListener(this);
but2.setOnClickListener(this);
but3.setOnClickListener(this);
but4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.but1:
mypager.setCurrentItem(0);
break;
case R.id.but2:
mypager.setCurrentItem(1);
break;
case R.id.but3:
mypager.setCurrentItem(2);
break;
case R.id.but4:
mypager.setCurrentItem(3);
break;
default:
break;
}
}
}
@XStreamAlias("oschina")
public class MyDatas {
public class Mynewslist {
@XStreamImplicit(itemFieldName="news")
private List<MyNews> news;
package com.example.fragment;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.example.adapter.CopyOfMybaseadpter;
import com.example.adapter.Mybaseadpter;
import com.example.bean.Mmsupper;
import com.example.bean.Myblog;
import com.example.view.XListView;
import com.example.view.XListView.IXListViewListener;
import com.example.vo.Mynews;
import com.example.vo.Super;
import com.example.yk06.R;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import com.thoughtworks.xstream.XStream;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class F1 extends Fragment implements IXListViewListener{
private XListView listView;
String url;
int mm;
private Mybaseadpter mybaseadpter;
private CopyOfMybaseadpter mybaseadpte;
int count=1;
private List<Mynews> l=new ArrayList<Mynews>();
private List<Myblog> li=new ArrayList<Myblog>();
public F1(String url, int mm) {
super();
this.url = url;
this.mm = mm;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.activity_f1, null);
listView = (XListView) view.findViewById(R.id.lsitview);
listView.setPullLoadEnable(true);
listView.setPullRefreshEnable(true);
listView.setXListViewListener(this);
init();
return view;
}
private void init() {
// TODO Auto-generated method stub
HttpUtils utils=new HttpUtils();
utils.send(HttpMethod.GET, url+count++, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
String ss=arg0.result;
XStream stream=new XStream();
if (mm==0||mm==1) {
stream.processAnnotations(Super.class);
Super super1=(Super) stream.fromXML(ss);
List<Mynews> ll=super1.getNewslist().getNews();
l.addAll(0,ll);
mybaseadpter = new Mybaseadpter(l, getActivity());
listView.setAdapter(mybaseadpter);
}
if(mm==2||mm==3){
stream.processAnnotations(Mmsupper.class);
Mmsupper super1=(Mmsupper) stream.fromXML(ss);
List<Myblog> ll=super1.getBlogs().getBlog();
li.addAll(0,ll);
System.out.println(li.toString());
mybaseadpte= new CopyOfMybaseadpter(li, getActivity());
listView.setAdapter(mybaseadpte);
}
}
});
}
private void onLoad() {
// TODO Auto-generated method stub
listView.stopRefresh();
listView.stopLoadMore();
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取当前系统时间
String nowTime = df.format(new Date(System.currentTimeMillis()));
// 释放时提示正在刷新时的当前时间
listView.setRefreshTime(nowTime);
}
@Override
public void onRefresh() {
// TODO Auto-generated method stub
init();
onLoad();
}
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
HttpUtils utils=new HttpUtils();
utils.send(HttpMethod.GET, url+count++, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
String ss=arg0.result;
XStream stream=new XStream();
if (mm==0||mm==1) {
stream.processAnnotations(Super.class);
Super super1=(Super) stream.fromXML(ss);
List<Mynews> ll=super1.getNewslist().getNews();
l.addAll(ll);
mybaseadpter.notifyDataSetChanged();
}
if (mm==2||mm==3){
stream.processAnnotations(Mmsupper.class);
Mmsupper super1=(Mmsupper) stream.fromXML(ss);
List<Myblog> ll=super1.getBlogs().getBlog();
li.addAll(ll);
mybaseadpte.notifyDataSetChanged();
}
}
});
onLoad();
}
}