实例介绍
【实例简介】
【实例截图】
【核心代码】
package com.example.downloadpictures; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import android.app.Activity; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; import android.widget.Toast; import com.example.downloadpictures.object.WebServiceItem; import com.example.downloadpictures.utils.Utils; public class MainActivity extends Activity { private final String HOST_ADDRESS = "http://122.114.20.230:8888"; private final String RESOURCE_ADDRESS = "/DiaoLan/android/ad/list.jsp"; private final String SERVER_ADDRESS = HOST_ADDRESS RESOURCE_ADDRESS; private boolean loopPlayState = false; private List<WebServiceItem> mData = null; private List<ImageView> mImageViewList = null; private List<View> mViewList = null; private TextView mArticleTitle = null; private ViewPager mViewPager = null; private MyPagerAdapter adapter = null; private WebView mWebView;// webView调用 private LinearLayout mCustomSpace = null; private Handler mHandler = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.initWidget(); } private void initWidget() { // TODO Auto-generated method stub mViewPager = (ViewPager) this.findViewById(R.id.viewpager); mArticleTitle = (TextView) this.findViewById(R.id.article_title); mCustomSpace = (LinearLayout) this.findViewById(R.id.custom_space); mHandler = new Handler(); mData = new ArrayList<WebServiceItem>(); mImageViewList = new ArrayList<ImageView>(); mViewList = new ArrayList<View>(); adapter = new MyPagerAdapter(); loadData(); mViewPager.setAdapter(adapter); // 设置一个监听器,当ViewPager中的页面改变时调用 mViewPager.setOnPageChangeListener(new MyPageChangeListener()); } private void loadData() { // TODO Auto-generated method stub new DownLoad(null).execute(SERVER_ADDRESS); } private final class ClickListener implements OnClickListener { private int mPosition; public ClickListener() { // TODO Auto-generated constructor stub } public ClickListener(int mPosition) { this.mPosition = mPosition; } @Override public void onClick(View v) { if (v instanceof ImageView) { String url = mData.get(mPosition).getmArticleUrl(); Toast.makeText(MainActivity.this, url, 1).show(); } else { return; } } } private final class MyPagerAdapter extends PagerAdapter { @Override public int getCount() { // TODO Auto-generated method stub return mImageViewList.size(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub ((ViewPager) container).removeView(mImageViewList.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { // TODO Auto-generated method stub ImageView temp = mImageViewList.get(position); new DownLoad(temp).execute(mData.get(position).getmPictureUrl()); ((ViewPager) container).addView(temp); return temp; } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } } private final class DownLoad extends AsyncTask<String, Void, Bitmap> { private ImageView mImageView; public DownLoad(ImageView imageView) { mImageView = imageView; } @Override protected Bitmap doInBackground(String... params) { // TODO Auto-generated method stub try { if (params[0].equals(SERVER_ADDRESS)) { String json = (String) (Utils.getData(params[0], String.class)); mData = Utils.fromJson(json); mImageViewList.clear(); Log.e("图片地址", mData.get(0).getmPictureUrl()); Log.e("还原", Utils.toJson(mData)); } else { Bitmap bitmap = (Bitmap) (Utils.getData(params[0], Bitmap.class)); return bitmap; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap result) { // TODO Auto-generated method stub super.onPostExecute(result); if (result != null) { mImageView.setImageBitmap(result); if (!loopPlayState) { mArticleTitle.setText(mData.get(0).getmTitle()); mViewPager.setCurrentItem(0); mHandler.postDelayed(loopPlay, 3000); loopPlayState = true; } } else { for (int i = 0; i < mData.size(); i ) { Log.e("JRSEN-MDATA", mData.size() ""); ImageView imageView = new ImageView(MainActivity.this); imageView.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); imageView.setOnClickListener(new ClickListener(i)); mImageViewList.add(imageView); View view = new View(MainActivity.this); LayoutParams layoutParams = new LayoutParams(14, 14); layoutParams.setMargins(3, 0, 3, 0); view.setLayoutParams(layoutParams); view.setBackgroundResource(R.drawable.dot_normal); mCustomSpace.addView(view); mViewList.add(view); } adapter.notifyDataSetChanged(); } } } /** * 当ViewPager中页面的状态发生改变时调用 * * @author Administrator * */ private class MyPageChangeListener implements OnPageChangeListener { private int historyPosition = 0; /** * 当ViewPager中页面的状态发生改变时调用 */ public void onPageSelected(int position) { mArticleTitle.setText(mData.get(position).getmTitle()); mViewList.get(historyPosition).setBackgroundResource( R.drawable.dot_normal); mViewList.get(position).setBackgroundResource( R.drawable.dot_focused); historyPosition = position; } public void onPageScrollStateChanged(int arg0) { } public void onPageScrolled(int arg0, float arg1, int arg2) { } } Runnable loopPlay = new Runnable() { @Override public void run() { // TODO Auto-generated method stub int position = mViewPager.getCurrentItem(); if (position == (mData.size() - 1)) { position = 0; mViewPager.setCurrentItem(position); } else { mViewPager.setCurrentItem( position); } P.error("position thread" position "mData" mData.size()); mHandler.postDelayed(loopPlay, 3000); } }; /** * 该类为测试类 * * @author Jrsen * */ private final static class P { public static void error(Object str) { Log.e("JRSEN", (String) str); } } }
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论