解决不了了 求大神们指点(关于 viewpage和webview的问题)

zhang_yugang 2015-08-07 01:25:14
问题描述:
     我用viewpage动态加载webview视图,显示没有问题,但是我想在点击webview页面时让 一个线性layout显示或隐藏。
代码编译没有错误,但是却实现不了效果。 设定代码在下面ViewPageAdapter的case MotionEvent.ACTION_UP:中,
直接上代码

Viewpage layout XML文件
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/linearLayout02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/guidePages"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

</FrameLayout>


WEBviewLayout 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="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/testline"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#99CC00"
android:orientation="horizontal" >

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>

<LinearLayout
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">

<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

</LinearLayout>

</LinearLayout>


JAVA主acitvity代码
package com.example.epubzipopen;

import java.util.ArrayList;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.webkit.WebView;
import android.widget.LinearLayout;

public class MainActivity extends Activity {

final int RIGHT = 0;
final int LEFT = 1;
private ViewPager viewPager;
private ViewGroup main;
LayoutInflater inflater;
private ArrayList<String> list1=new ArrayList<String>();
private ViewPageAdapter viewpaperadapater;

WebView wView;
@SuppressLint("SetJavaScriptEnabled") @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);

Intent intent=getIntent();
list1=intent.getStringArrayListExtra("PageList");

viewPager = (ViewPager)findViewById(R.id.guidePages);

viewpaperadapater= new ViewPageAdapter(this,list1);
viewPager.setAdapter(viewpaperadapater);
viewPager.setOnPageChangeListener(viewpaperadapater);
viewPager.setCurrentItem(0);


}

}


WEBview数据动态显示 ViewPageAdapter代码
package com.example.epubzipopen;

import java.util.ArrayList;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Environment;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.LinearLayout;

@SuppressLint("SetJavaScriptEnabled") public class ViewPageAdapter extends PagerAdapter implements OnPageChangeListener {
private Context context;
private ArrayList<String> list=new ArrayList<String>();
private LayoutInflater inflater;
private String commonFilepath="";

public ViewPageAdapter (Context context, ArrayList<String> Data) {
this.list = Data;
inflater = LayoutInflater.from(context);
commonFilepath=Environment.getExternalStorageDirectory().toString();
this.context = context;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return list != null ? list.size() : 0;
}

@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}

@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return super.getItemPosition(object);
}

@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
// TODO Auto-generated method stub
((ViewPager) arg0).removeView(arg0);
}

@Override
public Object instantiateItem(ViewGroup view, int position) {
View userLayout = inflater.inflate(R.layout.activity_main, null);
WebView webview = (WebView)userLayout.findViewById(R.id.webView1);

WebSettings wSet = webview.getSettings();
wSet.setJavaScriptEnabled(true);
wSet.setJavaScriptEnabled(true);
wSet.setBuiltInZoomControls(true);
wSet.setSupportZoom(true);
webview.requestFocusFromTouch();
webview.setWebChromeClient(new WebChromeClient());
String strHtmlPath="file://"+commonFilepath+"/Download/EpubZipOut/OEBPS/"+list.get(position);
webview.loadUrl(strHtmlPath);
webview.setOnTouchListener(new OnTouchListener() {
@SuppressLint("ClickableViewAccessibility") @Override
public boolean onTouch(View arg0, MotionEvent arg1) {
switch (arg1.getAction()) {
case MotionEvent.ACTION_UP:
{
// 设置的地方在这LOOK here
View userLayout = inflater.inflate(R.layout.activity_main, null);
LinearLayout testline = (LinearLayout)userLayout.findViewById(R.id.testline);
testline.setVisibility(View.GONE);
}
break;
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
break;
default:
return false;
}
return false;
}
});
((ViewPager) view).addView(userLayout, 0);
return userLayout;
}
@Override
public void restoreState(Parcelable state, ClassLoader loader) {}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View container) {}

@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub

}

@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub

}
}



...全文
353 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_yugang 2015-08-20
  • 打赏
  • 举报
回复
帖子就这样沉下去了,不死心啊
zhang_yugang 2015-08-12
  • 打赏
  • 举报
回复
引用 6 楼 heaimnmn 的回复:
这个应该是去复写viewgroup里面的onclick事件,确定下它点击的是什么
现在点击没有问题 能获取这个事件。就是画面上的线性layout不受控制。
zhang_yugang 2015-08-10
  • 打赏
  • 举报
回复
执行了,没有onclick事件监听
哎,真难 2015-08-10
  • 打赏
  • 举报
回复
这个应该是去复写viewgroup里面的onclick事件,确定下它点击的是什么
智行码上说 2015-08-10
  • 打赏
  • 举报
回复
你这个显示或隐藏的线性layout没有添加到主视图中,当然会没有效果!
zhang_yugang 2015-08-10
  • 打赏
  • 举报
回复
高手呢,帮忙给看看啊
_deadline 2015-08-07
  • 打赏
  • 举报
回复
你确定这里被执行了?断点调试一下,还有为毛要用ontouch onclick不就可以了吗
zhang_yugang 2015-08-07
  • 打赏
  • 举报
回复
没人回复啊 自己顶下 。希望高手们路过一定给指点下
内容概要:本文提出了一种基于改进扩散模型的高海拔地区新能源高波动出力场景生成方法,并提供了完整的Python代码实现。该方法针对高海拔地区风能、光伏等新能源出力波动剧烈、不确定性高的特点,通过优化扩散模型的结构与训练策略,有效捕捉历史数据的概率分布特征与时序相关性,从而生成高质量、多样化的出力场景。文中详细阐述了模型的数学推导、网络架构设计、损失函数优化及采样算法改进,并通过实验证明其在拟合精度、场景多样性与稳定性方面优于传统生成模型,为电力系统在高比例新能源接入下的规划、调度与风险评估提供了可靠的场景输入支持。; 适合人群:具备一定Python编程能力和机器学习基础,从事新能源发电预测、电力系统分析、智能优化、场景生成等方向研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①用于高海拔地区风电、光伏出力的不确定性建模与多场景生成;②支撑含高渗透率新能源的电力系统随机优化调度、鲁棒决策与风险评估;③为相关学术研究、论文复现与算法改进提供可运行的技术方案与代码基础; 阅读建议:建议读者结合所提供的完整资源(代码、数据集、说明文档)进行实践操作,重点关注扩散模型的前向加噪与反向去噪过程的设计细节,以及如何将其适配于新能源时序数据的生成任务,通过参数调优与对比实验深入理解模型的生成机制与性能边界。
内容概要:本文围绕基于静态约束法的配电网电动汽车接入容量评估展开研究,提出了一种在新型电力系统背景下评估主动配电网对电动汽车承载能力的方法。研究通过构建数学模型,结合潮流计算与关键约束条件(如电压越限、线路过载等),量化分析配电网可承受的最大电动汽车充电负荷容量,旨在识别规模化电动汽车接入带来的潜在运行风险,并为电网规划与运行提供科学依据。文中配套提供了完整的Matlab代码实现,便于仿真验证与结果复现。此外,该研究与分布式光伏承载力评估、电动汽车可调能力分析等方向形成技术联动,展现了多主题协同的研究体系。; 适合人群:具备电力系统分析基础理论知识及Matlab编程能力的高校研究生、科研机构研究人员,以及从事新能源并网、智能配电网规划与运行等相关领域的工程技术人员。; 使用场景及目标:①用于学术研究中的模型复现与论文撰写支撑;②评估实际配电网中电动汽车大规模接入的可行性与安全边界,指导充电基础设施布局;③作为高校教学案例,帮助学生深入理解电网承载力评估的核心原理、建模方法与仿真技术; 阅读建议:建议结合文中提及的相关研究方向(如二阶锥规划、多面体聚合方法等)进行对比学习,充分利用所提供的Matlab代码与网盘资料开展仿真实验,重点关注约束条件的设定逻辑与潮流计算模块的实现细节,以深化对评估模型机理与工程应用价值的理解。

80,489

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧