健康栏目的实现

来源:互联网 发布:网络教育研究 的资料 编辑:程序博客网 时间:2024/04/28 10:24

预期效果



实际效果:程序出现闪退或停止运行,正在尝试排错。。。

Error位置


HealthActivity.java
package com.walkersimulate;import java.util.ArrayList;import java.util.List;import android.app.ActionBar.LayoutParams;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.util.DisplayMetrics;import android.view.Display;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class HealthActivity extends Activity{private int currIndex;// 当前页卡编号 private TextView tvCursor;private TextView tvHealthNews; private TextView tvIllnessDefense; private ViewPager vpHealth;private ImageView ivHealthBack;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_health); initViews();initCursor(); initViewPager(); setListeners(); }private void initViews(){ ivHealthBack=(ImageView)findViewById(R.id.iv_HealthBack); tvCursor=(TextView)findViewById(R.id.cursor); tvHealthNews=(TextView)findViewById(R.id.tv_healthnews);//tvIllnessDefense=(TextView)findViewById(R.id.tv_IllDefense); vpHealth= (ViewPager)findViewById(R.id.viewpager);}private void initCursor(){Display display= getWindow().getWindowManager().getDefaultDisplay(); DisplayMetrics metrics= new DisplayMetrics(); display.getMetrics(metrics); // 取得手机屏幕宽度的一半int tabLineLength=metrics.widthPixels/2;// 设置游标的宽度为屏幕宽度的一半 LayoutParams lp=(LayoutParams) tvCursor.getLayoutParams(); lp.width=tabLineLength;    tvCursor.setLayoutParams(lp);}private void initViewPager(){ vpHealth= (ViewPager)findViewById(R.id.viewpager); List<View>views =new ArrayList<View>(); views.add(new HealthWebView(this) .getView("http://cms.hxky.cn/wap/jkxz/")); views.add(new HealthWebView(this) .getView("http://cms.hxky.cn/wap/jbfz/")); vpHealth.setAdapter(new HealthViewPagerAdapter(views)); // 给 ViewPager 设置适配器 vpHealth.setCurrentItem(0);// 设置当前显示标签页为第一页 }private void setListeners(){ // 返回按钮 ivHealthBack.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){ finish(); }});// 点击健康须知tvHealthNews.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View view){ vpHealth.setCurrentItem(0); }}); // 点击疾病防治 tvIllnessDefense.setOnClickListener(new OnClickListener(){@Override public void onClick(View view){ vpHealth.setCurrentItem(1); }});vpHealth.setOnPageChangeListener(new OnPageChangeListener(){@Override public void onPageSelected(int position){ currIndex=position; }@Override public void onPageScrolled(int position,float percent,int ag2){ LinearLayout.LayoutParams ll = (android.widget.LinearLayout.LayoutParams)tvCursor .getLayoutParams();if(currIndex== position){ ll.leftMargin=(int)(currIndex*tvCursor.getWidth()+percent *tvCursor.getWidth()); }else if(currIndex>position){ ll.leftMargin=(int)(currIndex*tvCursor.getWidth()-(1-percent) *tvCursor.getWidth()); } tvCursor.setLayoutParams(ll);}@Override public void onPageScrollStateChanged(int position){}});}}


HealthViewPagerAdapter.java
package com.walkersimulate;import java.util.List;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;public class HealthViewPagerAdapter extends PagerAdapter{private List<View>viewList;public HealthViewPagerAdapter(List<View>viewList){this.viewList=viewList;}@Overridepublic int getCount(){return viewList.size();} @Override public boolean isViewFromObject(View view,Object object){ return view==object;} @Override public Object instantiateItem(ViewGroup container,int position){container.addView(viewList.get(position)); return viewList.get(position);} @Overridepublic void destroyItem(ViewGroup container,int position,Object object){ container.removeView(viewList.get(position)); }}

HealthWebView.java
package com.walkersimulate;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.webkit.WebView;import android.webkit.WebViewClient;public class HealthWebView{ private Context context;public HealthWebView(Context context){ this.context= context;}public View getView(String url){View view =LayoutInflater.from(context).inflate(R.layout.pagerofhealth,null); WebView webView=(WebView)view.findViewById(R.id.wvHealth);webView.loadUrl(url);webView.getSettings().setJavaScriptEnabled(true); //禁止系统浏览器打开页面 webView.setWebViewClient(new WebViewClient(){@Override public boolean shouldOverrideUrlLoading(WebView view,String url){ view.loadUrl(url);return true; } }); return view;}}

activity_health.xml
<?xml version="1.0" encoding="utf-8"?>            <LinearLayout 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:orientation="vertical"     tools:context=".HealthActivity">     <include  layout="@layout/health_layout_titlebar"/>      <LinearLayout          android:layout_width="match_parent"          android:layout_height="wrap_content">          <!-- 健康新知 -->           <TextView               android:id="@+id/tv_healthnews"               android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_gravity="center"                android:layout_weight="1"                android:gravity="center"                android:padding="6dp"                android:text="@string/healthnews"                android:textSize="18sp"/>           <!-- 疾病防治 -->            <TextView                android:id="@+id/tv_healthill"               android:layout_width="wrap_content"                android:layout_height="wrap_content"                 android:layout_gravity="center"                 android:layout_weight="1"                 android:gravity="center"                 android:padding="6dp"                 android:text="@string/illdefense"                 android:textSize="18sp"/>                 </LinearLayout>                 <TextView                     android:id="@+id/cursor"                      android:layout_width="125dp"                      android:layout_height="5dp"                     android:layout_marginLeft="20dp"                      android:background="#990033"/>                                     <android.support.v4.view.ViewPager                          android:id="@+id/viewpager"                          android:layout_width="match_parent"                           android:layout_height="match_parent"/>                        </LinearLayout> 

health_layout_titlebar.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"      android:layout_height="wrap_content"       android:background="@drawable/titlebar_bg">       <ImageView           android:id="@+id/iv_HealthBack"           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:layout_gravity="center"           android:gravity="center"           android:onClick=""          android:paddingLeft="6dp"           android:src="@drawable/icons_health_back"/>       <TextView android:id="@+id/title"            android:layout_width="0dp"             android:layout_height="wrap_content"             android:layout_gravity="center"              android:layout_weight="1"              android:gravity="center"              android:text="健康"              android:textColor="#ffffff"              android:textSize="15sp"/></LinearLayout>

pagerofhealth.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"><WebView    android:id="@+id/wvHealth"    android:layout_width="match_parent"    android:layout_height="match_parent"     /></RelativeLayout>


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 qq支付密码忘了怎么办? 扣扣上转账错了怎么办 qq绑卡存在异常怎么办 微信没绑银行卡忘记支付密码怎么办 微信的自动扣费怎么办 不小心把钱充到微信财付通该怎么办 财付通用什么充值卡充值话费怎么办 苹果手机灯坏了怎么办 手机电灯不亮了怎么办? 苹果手机相机坏了怎么办 苹果5s手机背光灯不亮怎么办 苹果5s灯控坏了怎么办 微信q币冲错号码怎么办 支付宝转账到之前号码怎么办 qq红包收不了钱怎么办 qq抢红包要实名认证怎么办 支付宝被骗冲q币怎么办 qq发红包发错了怎么办 qq红包发不出来怎么办 qq红包发多了怎么办 qq发红包要短信验证怎么办 不是qq好友发了红包怎么办 苹果手机升级后支付宝打不开怎么办 qqq币充了没进帐怎么办 怎么办q币换成qq余额 支付宝qb冲多了怎么办 微信没钱怎么办怎么赚 忘记微信支付密码怎么办 手机设备注册达上限怎么办 在新手机上登微信需要验证怎么办 手机号被限制注册qq号怎么办 手机互换了微信怎么办 微信申诉只有一位好友怎么办 微信申诉没有好友怎么办 四川电信多余的话费怎么办 四川电信话费多了怎么办 固话冲q币要密码怎么办 手机卡怎么突然没了怎么办 联通话费冲错了怎么办 王卡高额半停机 怎么办 计算机报考在手机上网上支付怎么办