小编Bey*_*yaz的帖子

如何从XWalkView获取html内容?

我试过使用JavaScriptInterface在WebView中做过.但它没有用.如何从XWalkView获取HTML内容?

通过这种方式,我可以从WebView获取HTML:

    public class MainActivity extends AppCompatActivity {

    WebView myWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myWebView = (WebView) findViewById(R.id.webView);
        WebSettings webSettings = myWebView.getSettings();

        webSettings.setJavaScriptEnabled(true);

        myWebView.loadUrl("http://joerichard.net/api/test/generate.htm");
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");

        myWebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                if(url.endsWith("generate.htm")){
                    myWebView.loadUrl("javascript:window.HtmlViewer.showHTML" +
                            "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
                }
            }
        });

    }

    class MyJavaScriptInterface {

        private Context ctx;

        MyJavaScriptInterface(Context ctx) {
            this.ctx = ctx;
        }

        public void showHTML(String html) {
            Document doc = Jsoup.parse(html);
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

我为XWalkView尝试了相同但没有成功.如何从XWalkView获取HTML源代码?

html android javascript-injection crosswalk

11
推荐指数
0
解决办法
667
查看次数

LinearLayout $ LayoutParams无法强制转换为android.support.v4.widget.DrawerLayout $ LayoutParams

我正在尝试做导航抽屉选项.

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <Button
             android:id="@+id/sendnewmessages"
             android:layout_width="wrap_content"
             android:layout_height="30dp"
             android:background="@drawable/nothere"
             android:gravity="center_horizontal"
             android:shadowColor="@android:color/black"
             android:shadowDx="1"
             android:shadowDy="1"
             android:shadowRadius="1"
             android:text="Send New Messages"
             android:textAlignment="center"
             android:textColor="@android:color/black" />
        <EditText
             android:id="@+id/searchmessage"
             android:layout_height="40dp"
             android:layout_width="200dp"
             android:gravity="center"
             android:hint="Search Messages"/>
        <ListView
            android:id="@+id/listview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        </ListView>
        <ListView android:id="@+id/left_drawer"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:choiceMode="singleChoice"
            android:divider="@android:color/transparent"
            android:dividerHeight="0dp"
            android:background="#111"/>
    </LinearLayout>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

如果我删除Linearlayout没有错误.此按钮出现在屏幕中间listview,edittext显示在屏幕中间.问题是对象没有对齐.有没有办法对齐视图对象DrawerLayout

如果我不删除,linearlayout我会收到此错误:

LinearLayout$LayoutParams cannot be cast to android.support.v4.widget.DrawerLayout$LayoutParams
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

E/AndroidRuntime(3454):FATAL EXCEPTION:main进程:com.brilliant.bridge,PID:3454 java.lang.ClassCastException:android.widget.LinearLayout $ LayoutParams无法强制转换为android.support.v4.widget.DrawerLayout $ LayoutParams在android.support.v4.widget.DrawerLayout.isDrawerView(DrawerLayout.java:910)的android.support.v4.widget.DrawerLayout.isDrawerOpen(DrawerLayout.java:1156)com.brilliant.bridge.AdminMessages.onPrepareOptionsMenu(AdminMessages) .java:220)在com.android.internal.policy的com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:464)的android.app.Activity.onPreparePanel(Activity.java:2556).位于android.view.Choreographer的com.android.internal.policy.impl.PhoneWindow …

android navigation-drawer

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

Android:保存XWalkView - Crosswalk状态

我正在使用XWalkView将移动网站显示为一个应用程序.我的问题是当应用程序进入后台并返回时它重新加载它显示的页面.我希望保持状态并从背景状态继续.这是我的代码:

public class MainActivity extends AppCompatActivity {

    static final String URL = "https://www.biletdukkani.com.tr";
    static final int MY_PERMISSIONS_REQUEST_ACCESS_LOCATION = 55;
    static final String SHOULD_ASK_FOR_LOCATION_PERMISSION = "shouldAskForLocationPermission";
    static final String TAG = "MainActivity";
    static final String COMMAND = "/system/bin/ping -c 1 185.22.184.184";
    static XWalkView xWalkWebView;
    TextView noInternet;
    static Bundle stateBundle;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate");

        // Check whether we're recreating a previously destroyed instance
        if (savedInstanceState != null) {
            // Restore value of members from saved state
            stateBundle …
Run Code Online (Sandbox Code Playgroud)

android state webview crosswalk

6
推荐指数
1
解决办法
452
查看次数