主界面:

public class MainActivity extends FragmentActivity {private ViewPager viewPager;private List<Fragment> items;private MyFragmentPagerAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewPager = (ViewPager) this.findViewById(R.id.pager);items = new ArrayList<Fragment>();items.add(new Fragment1());items.add(new Fragment2());items.add(new Fragment3());items.add(new Fragment4());adapter = new MyFragmentPagerAdapter(getSupportFragmentManager());viewPager.setAdapter(adapter);adapter.notifyDataSetChanged();}/** * 使用FragmentPagerAdapter适配器的时候,他会持久化数据,即使Fragment被系统销毁,数据也是会保存在内存中的 * 所以不能使用它来加载大量的数据 *  * 使用FragmentStatePagerAdapter适配器的时候,他会销毁Fragment仅仅保存Fragment的引用,适合加载一些大量的数据, * @author jack *  */public class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {public MyFragmentPagerAdapter(FragmentManager fm) {super(fm);// TODO Auto-generated constructor stub}@Overridepublic Fragment getItem(int arg0) {// TODO Auto-generated method stubreturn items.get(arg0);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn items.size();}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

对应布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <android.support.v4.view.ViewPager        android:id="@+id/pager"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_gravity="center" >    </android.support.v4.view.ViewPager></RelativeLayout>



各界面定义:

public class Fragment1 extends Fragment {private final String image_path = "http://lh5.ggpht.com/_mrb7w4gF8Ds/TCpetKSqM1I/AAAAAAAAD2c/Qef6Gsqf12Y/s144-c/_DSC4374%20copy.jpg";@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view = inflater.inflate(R.layout.f1, null);final ImageView imageView = (ImageView) view.findViewById(R.id.imageView1);        new ImageDownLoad().loadImage(image_path, new ImageCallBack() {@Overridepublic void getImageContent(Bitmap bitmap) {// TODO Auto-generated method stubimageView.setImageBitmap(bitmap);}});return view;}@Overridepublic void onPause() {// TODO Auto-generated method stubsuper.onPause();}<pre name="code" class="html">
}

  



对应布局:

<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <ImageView        android:id="@+id/imageView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/ic_launcher" /></LinearLayout>


 其余类似。  

工具类:

public class ImageDownLoad {public void loadImage(final String path, final ImageCallBack callBack) {final Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);Bitmap bitmap = (Bitmap) msg.obj;callBack.getImageContent(bitmap);}};new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubHttpClient httpClient = new DefaultHttpClient();HttpPost httpPost = new HttpPost(path);HttpResponse response = null;try {response = httpClient.execute(httpPost);if (response.getStatusLine().getStatusCode() == 200) {byte[] data = EntityUtils.toByteArray(response.getEntity());Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,data.length);Message message = Message.obtain();message.obj = bitmap;handler.sendMessage(message);}} catch (Exception e) {// TODO: handle exceptione.printStackTrace();} finally {httpClient.getConnectionManager().shutdown();}}}).start();}public interface ImageCallBack {public void getImageContent(Bitmap bitmap);}}




更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. SQLiteDatabaseTest
  3. TabBar_ViewPager做成的tab页面
  4. Android同步网络请求工具类HttpURLConnection
  5. sqlite的使用及其框架
  6. Android中SdCard的数据读写
  7. 用android原生代码实现联网得到图片
  8. Android第十五天 ContentProvider之ContentResover
  9. Android--fragment从activity中获取数据

随机推荐

  1. android gdb使用
  2. android中文api:Manifest.permission grou
  3. Android菜鸟的成长笔记(20)——IntentServi
  4. 国内访问android开发者网站
  5. Android 珍藏(二)
  6. Android(安卓)拍照后保存到手机里,在相册
  7. Android开发:调用camera API 创建MediaRec
  8. Android 调用系统电话,短信
  9. Android创建Alert框的方法
  10. Android 之APP程序崩溃后,自动向QQ 邮箱发