标签: android-webview

如何在Android中从布局XML设置WebView的URL?

我正在尝试从布局main.xml设置WebView的URL.

通过代码,它很简单:

WebView webview = (WebView)findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/index.html");
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法将此逻辑放入布局XML文件中?

android android-layout android-webview

29
推荐指数
2
解决办法
3万
查看次数

不推荐使用PictureListener和onNewPicture() - 替代品?

Android开发者参考说,无论是WebView.PictureListener界面和它的onNewPicture()方法已过时.

很好,但需要知道WebView何时渲染图片仍然存在.有没有其他方法来实现这一目标?

android webview android-webview

28
推荐指数
2
解决办法
4189
查看次数

如何在android中清除webview历史记录

webview的历史还没有清除......下面的代码出了什么问题?

Web视图创建

mWebViewReport=(WebView)findViewById(R.id.report_page);
mWebViewReport.setWebViewClient(new HelloWebViewClient());
mWebViewReport.getSettings().setBuiltInZoomControls(true);
Run Code Online (Sandbox Code Playgroud)

单击帮助按钮时加载帮助文件

mWebViewReport.loadUrl("file:///android_asset/help.html");
mWebViewReport.clearHistory();
mWebViewReport.clearCache(true);
Run Code Online (Sandbox Code Playgroud)

单击摘要按钮时加载摘要文件

  mWebViewReport.loadUrl("file:///android_asset/summary.html");

    //On back button click
     if (mWebViewReport.canGoBack()) {
            mWebViewReport.goBack();
            return ;
      }
Run Code Online (Sandbox Code Playgroud)

在这里,我也可以看到帮助页面......

android webview android-webview

28
推荐指数
3
解决办法
3万
查看次数

在Android WebView中获取HTTP状态代码

我正在开发一个在WebView中加载网站的Android应用程序,但有时网站会返回HTTP代码500.

我的问题是:有没有办法从带有监听器或其他类的WebView获取HTTP状态代码?

我试图实现一个WebViewClient,但是我无法获得WebView收到的HTTP状态代码.

android http android-webview

28
推荐指数
5
解决办法
3万
查看次数

如何在4.2之前版本的Android上处理RTL语言?

背景

TextView始终存在RTL(从右到左)语言的问题.由于我只知道如何阅读希伯来语(除了英语),我将讨论它的问题:

  • 文本对齐(我不是在谈论引力).作为一种RTL语言,希伯来语从右到左放置单词(与英语相反).

    为了展示它是多么令人讨厌,想象一下,而不是展示"Hello world".你通常得到".Hello world".如果你只用一个句子就可以很容易地解决这个问题,但是当有多个标点字符时会更难.

  • 元音位置.希伯来语不需要元音来阅读文本,但有时没有它们就很难阅读(特别是圣经).对于元音,希伯来语有所谓的"NIKUD",它实际上就像字母内部的点.Android中的问题是它们通常位于错误的位置.

    为了展示它是多么令人讨厌,想象一下,而不是展示"Hello world".你通常得到".eHlol owrld".即使你试图修复它(把元音总是放在当前元素之后的一个字符),字母中的位置也不正确(想象"Hello"中的"e"就像"H"之上的那样,例子).

仅在版本4.2(在此处阅读,在"原生RTL支持"下),谷歌已经修复了所有希伯来语相关问题(或者至少看起来如此).

问题

希伯来语的问题导致每个以色列航空公司和每个定制ROM制造商都有自己的解决方案来解决不同的问题,这使得在4.2之前的设备上处理RTL文本几乎是不可能的.

如果文本包括希伯来语和英文字母,事情会变得更加令人沮丧.

我试过的

我已经阅读了很多关于这些问题的网站,我尝试了很多解决方案,没有一个解决了所有设备上的问题:

这个问题

这个问题有一个明确的解决方案吗?

我认为最好的事情是因为Android 4.2解决了这个问题,并且Android是开源的,我们应该将其TextView导入到我们可以使用的库中,但谷歌还没有提供这样的库.

android hebrew textview android-webview right-to-left

28
推荐指数
1
解决办法
1万
查看次数

Android WebView无法加载混合内容

我正在尝试使用WebView制作应用程序,但该网站正在使用https,但内容(例如mp3文件)使用http,因此Android Lollipop将不会加载它,因为它是"混合内容".我试图使用onReceivedSslError handler.proceed();,但它没有加载任何东西.有办法解决吗?或者我可以只加载所有网站使用http,所以它没有显示任何错误?

android webview android-webview

28
推荐指数
3
解决办法
2万
查看次数

在ViewPager中水平滚动webview

我把一个WebView加载到ViewPager中的图像.当我尝试水平滚动图像时,我移动到下一个视图而不是滚动图像.

是否可以在移动到下一个视图之前滚动到图像的末尾?

@Override
public Object instantiateItem(View view, int i) {

    WebView webview = new WebView(view.getContext());
    webview.setHorizontalScrollBarEnabled(true);
    webview.loadUrl("http://www.site.with.an/image.gif");
    ((ViewPager) view).addView(webview, 0);

    return webview;
}
Run Code Online (Sandbox Code Playgroud)

android scroll android-webview android-viewpager

27
推荐指数
1
解决办法
2万
查看次数

覆盖Android中文本选择(在WebView中)的默认上下文操作栏

我想覆盖现有的默认上下文操作栏(CAB)进行文本选择.我的意思是,当我在webview上选择一些文本时,我想用自己的按钮显示我自己的CAB.我尝试使用Android文档实现CAB.OnLongClickListener不捕获Web视图中的文本选择事件.捕获文本选择的事件是什么?是否可以隐藏默认CAB并在文本选择上显示我的CAB?

childWebView.setOnLongClickListener(new OnLongClickListener() {
        @Override
     // Called when the user long-clicks on someView
        public boolean onLongClick(View view) {
            if (mActionMode != null) {
                return false;
            }

            // Start the CAB using the ActionMode.Callback defined above
            mActionMode = startActionMode(mActionModeCallback);
            view.setSelected(true);
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)

android android-webview contextual-action-bar

27
推荐指数
1
解决办法
8239
查看次数

从MainActivity类中的另一个函数访问WebView

如何正确访问onCreate函数中的"view"变量?我想要,loadUrl()但它会抛出一个错误,public Emitter.Listener onServerReceive = new Emitter.Listener() {view = loadUrl:

E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException
    at com.myapp.MainActivity$7$1.run(MainActivity.java:399)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:177)
    at android.app.ActivityThread.main(ActivityThread.java:4947)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
import com.github.nkzawa.emitter.Emitter;
....

public class MainActivity extends Activity {
    WebView view;
    Socket mSocket;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...
        view = (WebView) findViewById(R.id.webView);
        view.getSettings().setJavaScriptEnabled(true);
        ...
        view.loadUrl("file:///android_asset/loading.html");

    }

    ...

    @JavascriptInterface
    public void websocket_start(){
        try …
Run Code Online (Sandbox Code Playgroud)

java sockets android listener android-webview

27
推荐指数
2
解决办法
1014
查看次数

Android WebView上Javascript接口的有效返回值是什么?

我有一个Android WebView,其JavaScript通过addJavascriptInterface方法调用Android方法:

myWebview.addJavascriptInterface(new JavascriptBridge(), "Android");

public class JavascriptBridge {

    public String getAString() {          
        return "my_str";
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用.我想将一个int列表返回给WebView.试过这个:

public class JavascriptBridge {

    public int[] getMyInts() {          
        return new int[]{1,2,3};
    }
}
Run Code Online (Sandbox Code Playgroud)

但是在JS中调用此函数会返回undefined:

var myInts = Android.getMyInts();
Run Code Online (Sandbox Code Playgroud)

是否有Android Javascript界面​​的有效返回类型列表?它只是原始人吗?

android android-webview

26
推荐指数
2
解决办法
2万
查看次数