Android studio点击跳转WebView详解

本文实例为大家分享了Android studio点击跳转WebView的具体代码,供大家参考,具体内容如下

代码文件

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
  private StringBuffer sb;/*截取字符串*/
  private TextView tv1;
  private WebView webv;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /*获取文字的ID*/
    tv1=(TextView)findViewById(R.id.wang);
    /*获取网页控件的ID*/
    webv=(WebView)findViewById(R.id.web);
    /*new一个字符串*/
    sb=new StringBuffer("http://www.baidu百度百度.com");
    /*删除包含16 不包含20的字符串*/
    sb.delete(16,20);
    /*把截取的字符串写入文字id里*/
    tv1.setText(sb);
    /*文字点击事件*/
    tv1.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        webv.getSettings().setJavaScriptEnabled(true);
        webv.loadUrl("https://www.baidu.com");
        /*网页*/
        webv.setWebViewClient(new WebViewClient() {
          @Override
          public boolean shouldOverrideUrlLoading(WebView view, String url) {
            //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
            view.loadUrl(url);
            return true;
          }
        });
      }
    });
  }
}

页面布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
  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">
  <TextView
    android:id="@+id/wang"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="www.baidu.com"
    android:layout_centerHorizontal="true"
    />
  <RelativeLayout
    android:id="@+id/l1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/wang"
    android:layout_centerHorizontal="true"
    >
    <TextView
      android:id="@+id/ba"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="百度"
      />
    <ImageView
      android:id="@+id/img"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/ic_launcher"
      android:layout_toRightOf="@id/ba"
      />
    <TextView
      android:id="@+id/yu"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="百度"
      android:layout_toRightOf="@id/img"
      />
  </RelativeLayout>
  <WebView
    android:id="@+id/web"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/l1"
    >
  </WebView>
</RelativeLayout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android APP之WebView校验SSL证书的方法

    Android系统的碎片化很严重,并且手机日期不正确.手机根证书异常.com.google.android.webview BUG等各种原因,都会导致WebViewClient无法访问HTTPS站点.SSL错误的处理方式十分关键,如果处理不当,可能导致中间人攻击,黑客窃听数据,进而引发安全事故. 严谨地处理onReceivedSslError尤为重要.请参考以下代码,原理是:如果webview报告SSL错误,程序将会对服务器证书进行强校验,如果服务器传入证书的指纹(sha256)与记录值一致,说

  • 详解Android WebView的input上传照片的兼容问题

    问题 前几天接到的一个需求,是关于第三方理财产品的H5上传照片问题. 对方说他们的新的需求,需要接入方配合上传资产照片的需求,测试之后发现我们这边的app端,IOS端上传没有问题,而Android端则点击没有任何反应. 对方H5调用的方式是通过<input type='file' accept='image/*'/>的方式调用,本来以为这个问题很简单,就是app端没有设置相机权限,造成的点击无反应情况,而实际上加了之后发现,并非简单的权限问题. 解决问题 因为Android的版本碎片问题,很多

  • Android 解决WebView调用loadData()方法显示乱码的问题

    Android 解决WebView调用loadData()方法显示乱码的问题 第一步: mWebView.getSettings().setDefaultTextEncodingName("UTF-8"); 第二步: mWebView.loadData(data, "text/html; charset=UTF-8", null); WebView常用配置: private void initWebView() { mWebView.getSettings().se

  • Android webview手动校验https证书(by 星空武哥)

    有些时候由于Android系统的bug或者其他的原因,导致我们的webview不能验证通过我们的https证书,最明显的例子就是华为手机mate7升级到Android7.0后,手机有些网站打不开了,而更新了webview的补丁后就没问题了,充分说明系统的bug对我们混合开发webview加载https地址的影响是巨大的.那么我们怎么去解决这个问题呢? 首先我们去分析一下出现的原因 当webview加载https地址的时候,如果因为证书的问题出错的时候就会走onReceivedSslError()

  • Android webview实现拍照的方法

    Android webview实现拍照的方法 1. html <div id="pnlVideo1"> <input type="hidden" name="imgNric1" id="imgNric1" /> <label id="nric" class="control-label labelfont" style="color:#888;fo

  • Android的WebView与H5前端JS代码交互的实例代码

    前段时间项目有深度和前端对接过,也是碰了一些坑,现在有时间就拿出来分享下 JS调用原生不外乎就两种,一种是传假的url,也就是url拦截的方式,类似于下面这种: //js代码 function sendCommand(param){ var url="js-call://"+param; document.location = url; } sendCommand("PlaySnake"); //Java代码 mWebView.setWebViewClient(ne

  • Android webview 内存泄露的解决方法

    Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递getApplicationContext. 1.避免在xml直接写webview控件,这样会引用activity,所以在xml写一个LinearLayout,然后 linearLayout.addView(new MyWebview(getApplicati

  • Android 中ViewPager中使用WebView的注意事项

    Android 中ViewPager中使用WebView的注意事项 前言: 今天在做项目时遇到了一个小问题 首先使用ViewPager显示多个页面,然后在每个页面上使用Fragment显示数据,其中有一部分数据是通过WebView加载的Html标签. 具体xml布局如下 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.andr

  • Android studio点击跳转WebView详解

    本文实例为大家分享了Android studio点击跳转WebView的具体代码,供大家参考,具体内容如下 代码文件 import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.

  • Eclipse工程转为兼容Android Studio模式的方法步骤图文详解

    方法/步骤 准备好需要转换的工程 , 最好是新建一个文件夹 , 然后将主工程和依赖工程放到同一个目录 屏幕快照 2016-12-24 12.43.02.png 在eclipse中导入主工程和依赖工程 , 导入之后最好先跑一遍 , 确定没有问题再继续操作 屏幕快照 2016-12-24 12.40.03.png 在主工程上右键导出 屏幕快照 2016-12-24 12.53.51.png 将工程导出为Generate Gradle build files , 这一步很重要哦 , 只有导出为这个模式

  • android studio打印日志语句Log.d()详解

    Log.d()方法内需要传入两个参数. 1.第一个参数时tag,一般传入类名,用于对打印信息进行过滤: 2.第二个参数,是一个字符串类型的msg,表示你想要打印的内容. 输出Log.d()语句的快捷键为: logd+tab键 在我们每写一条Log.d()语句时,就要传入一次tag参数,而每一次的tag参数值基本是一样的,这样就会很麻烦,其实只要我们在类中创建一个字符串类型的变量TAG,那么在我们每次写log.d()语句的时候,系统就会自动将该TAG的值传入tag参数中 自动生成一个以当前类名作为

  • Android Studio下的APP目录结构详解

    Project Name:工程项目名称 Application Name:当前应用发布以后的名字,例如QQ图标下面的名字是"QQ",就是Application Name. Android Studio工程目录 1..gradle和.idea 这两个目录下放置的都是Android Studio自动生成的一些文件,我们无须关心,也不要去手动编辑. 2.app 项目中的代码.资源等内容几乎都是放置在这个目录下的,我们后面的开发工作也基本都是在这个目录下进行的,待会儿还会对这个目录单独展开进行

  • Android Studio 修改应用包名实例详解

    Android Studio 修改应用包名实例详解 我们平时新建项目有些朋友可能当时就是随意写的一个包名,然后在项目过程中, 又感觉这个包名不太好,所以就要对包名进行修改,根据我们正常的修改方式,是这样的. 在种情况是只能修改最外层的那个名称, 如果我们现在是需要修改中间的某一个,这里就行不通了. 那么我们来看一下如何修改成你最终要的包名. 操作图如下: 看到没有,我们只需要在setting里面,把 compact empty middle packages 这个选项去掉,这样,我们的包的层次结

  • 微信小程序按钮点击跳转页面详解

    微信小程序中,按钮也是<button></button>标签,它通过bindtap属性绑定点击事件: 然后在js里面注册这个回调函数: 回调函数里面通过 wx.navigateTo({ url: '/pages/index/talkPage', }) 跳转到talkPage界面. 注意,html界面要在app.json里面注册: 不注册的话会报错:navigateTo:fail url "pages/index/talkPage" is not in app.j

  • android studio与手机连接调试步骤详解

    android studio 版本不同连接手机方式有细微的不同,主要方式相似.介绍主要分手机和电脑两部分介绍. 一.手机部分 1.手机端下载一个"一键root权限获取",在安装的过程中需要安装KingRoot,获取手机root权限.网上有些说法,说手机侧不需要获取root权限,我自己尝试失败了.不过不是所有的手机都能获取root权限的.比如我手上的三星就没有能获取到,不过我的老手机多,这也就不是什么问题了 2.下载"ABD Wireless",这是一个adb服务.需

  • Android Studio使用USB真机调试详解

    本文为大家分享了Android Studio使用USB真机调试的具体方法,供大家参考,具体内容如下 以小米4为例,先将手机通过USB连接电脑,在设备管理器中确保驱动安装正确. 对手机的设置 1.设置手机为开发者模式(设置->关于手机->连续点击MIUI版本--开启成功) 2.在更多设置中找到系统安全设置--允许安装未知来源的应用 3.在更多设置中选择开发者选项,在开发者选项中同时勾选USB调试和USB安装的开关 对Android Studio 的设置: 1.在工具栏中找到app,点开后选择&q

  • Android studio 广播的简单使用代码详解

    1.在布局文件里面加入按钮,等会发送广播 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="htt

  • 如何利用Android Studio将moudle变成jar示例详解

    前言 本文主要给大家介绍的是关于利用Android Studio将moudle变成jar的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 方法如下: 1.在moudle中的build.gradle文件中添加如下代码:(和android.dependencies标签同级) task makeJar(type: Copy) { delete 'build/libs/test.jar' from('build/intermediates/bundles/release/')

随机推荐