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(); } }