如何使用editText作为URL和单击按钮,在另一个活动中打开Web视图

马克·阿奎斯(Mark Acquaisie)

MainActivity.java

public class MainActivity extends Activity {

    WebView web1;
    EditText ed1;
    Button bt1;
    String Address;
    ProgressBar pbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        final Context context = this;
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        web1 = (WebView) findViewById(R.id.webView1);
        ed1 = (EditText) findViewById(R.id.editText1);
        bt1 = (Button) findViewById(R.id.button1);

        pbar.setVisibility(View.GONE);

        bt1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent(context, WebViewActivity.class);
                startActivity(intent);


                Address = "http://" + ed1.getText().toString();
                WebSettings webSetting = web1.getSettings();
                webSetting.setBuiltInZoomControls(true);
                webSetting.setJavaScriptEnabled(true);
                setContentView(R.layout.activity_main);

//下面给了我这个错误,指出新的WebViewClient无法解决。

                web1.setWebViewClient(new WebViewClient());

                web1.loadUrl(Address);

            }
        });
    }
}

WebViewActivity.java

public class WebViewActivity extends Activity {


    WebView web1;

    String Address;
    String add;
    ProgressBar pbar;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);

        web1 = (WebView)findViewById(R.id.webView1);

        pbar = (ProgressBar)findViewById(R.id.progressBar1);
        pbar.setVisibility(View.GONE);

        web1.setWebViewClient(new WebViewActivity.WebViewClient());

    }


    public class WebViewClient extends android.webkit.WebViewClient
    {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {

            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
            pbar.setVisibility(View.VISIBLE);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            // TODO Auto-generated method stub
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageFinished(WebView view, String url) {

            // TODO Auto-generated method stub

            super.onPageFinished(view, url);
            pbar.setVisibility(View.GONE);
        }

    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && web1.canGoBack()) {
            web1.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}
Aayush Thakur

使用Intent将url作为字符串传递给webview活动:

Intent intent = new Intent(context, WebViewActivity.class);
intent.putExtra("URL",url)
startActivity(intent);

并在WebViewActivity onCreate中通过以下方式访问它:

Intent in = getIntent();
String url = in.getStringExtra("URL");

现在传入此网址

weview.loadurl(url);

主要活动

public class MainActivity extends AppCompatActivity {

Button b1;
EditText ed1;

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

    b1 = (Button) findViewById(R.id.button);
    ed1 = (EditText) findViewById(R.id.editText);

    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String url = ed1.getText().toString();
            Intent intent = new Intent(getApplicationContext(), WebViewActivity.class);
            intent.putExtra("URL", url);
            startActivityForResult(intent, 1);

        }
    });
}


}

activity_main.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">

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

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

  </LinearLayout>

WebViewActivity

public class WebViewActivity extends AppCompatActivity {

private WebView webView;

@Override
protected void onCreate(Bundle savedInstanceState) {

    String url = getIntent().getStringExtra("URL");

    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    webView = (WebView) findViewById(R.id.webView);
    webView.setWebViewClient(new MyBrowser());
    webView.getSettings().setLoadsImagesAutomatically(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    webView.loadUrl(url);
}

private class MyBrowser extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
}

webview.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

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

</WebView>

</LinearLayout>

Android清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.mywebviewapplication">

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".WebViewActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>
</application>

</manifest>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过另一个活动按钮单击事件在viewpager中打开特定片段页面

来自分类Dev

单击按钮如何调用另一个活动?

来自分类Dev

在 iOS 应用程序开发中单击按钮时如何打开另一个视图?

来自分类Dev

使用片段按钮打开另一个活动

来自分类Dev

使用片段按钮打开另一个活动

来自分类Dev

如何在另一个活动中显示单击的列表视图项

来自分类Dev

如何在不单击Titanium的窗口的情况下单击按钮时打开另一个视图?

来自分类Dev

如何在不单击Titanium的窗口的情况下单击按钮时打开另一个视图?

来自分类Dev

如何在Android中更改另一个活动的文本视图和图像视图

来自分类Dev

如何根据这些代码从包含使用列表视图的一个活动到另一个活动的URL中解析数据?

来自分类Dev

如何通过在Android中单击按钮将文本从EditText复制到另一个EditText?

来自分类Dev

如何制作一个可以打开另一个活动的按钮

来自分类Dev

每次在网格视图中单击按钮或链接时如何打开另一个新的弹出窗口

来自分类Dev

从另一个视图单击按钮时打开 TabPane

来自分类Dev

单击列表视图项以在单独的活动中显示另一个列表视图

来自分类Dev

当我们在SrollView的TextView中单击单个文本时,如何打开另一个活动

来自分类Dev

区分按下“主页”按钮和打开另一个活动

来自分类Dev

如何使用actionListener打开另一个类中的Jframe作为构造函数?

来自分类Dev

在Swift iOS中单击按钮即可将视图移至另一个视图

来自分类Dev

在Swift iOS中单击按钮即可将视图移至另一个视图

来自分类Dev

如何使用CheckBox或将按钮从一个活动切换到另一个活动来在android中打开或关闭一个特定的音频文件?

来自分类Dev

单击另一个活动中的按钮时,调用检查Internet连接类

来自分类Dev

单击上载按钮后,在另一个活动中显示图像

来自分类Dev

如何在按钮上设置密码以打开另一个活动?

来自分类Dev

如何使用jQuery防止另一个单击事件中的活动类上的单击事件

来自分类Dev

Android活动-如何在android中打开另一个活动?

来自分类Dev

将数据从一个活动的按钮单击事件发送到后台的另一个活动的edittext

来自分类Dev

单击按钮时如何打开另一个表单?

来自分类Dev

当我单击列表视图项时,应用程序崩溃,而不是打开另一个活动

Related 相关文章

  1. 1

    如何通过另一个活动按钮单击事件在viewpager中打开特定片段页面

  2. 2

    单击按钮如何调用另一个活动?

  3. 3

    在 iOS 应用程序开发中单击按钮时如何打开另一个视图?

  4. 4

    使用片段按钮打开另一个活动

  5. 5

    使用片段按钮打开另一个活动

  6. 6

    如何在另一个活动中显示单击的列表视图项

  7. 7

    如何在不单击Titanium的窗口的情况下单击按钮时打开另一个视图?

  8. 8

    如何在不单击Titanium的窗口的情况下单击按钮时打开另一个视图?

  9. 9

    如何在Android中更改另一个活动的文本视图和图像视图

  10. 10

    如何根据这些代码从包含使用列表视图的一个活动到另一个活动的URL中解析数据?

  11. 11

    如何通过在Android中单击按钮将文本从EditText复制到另一个EditText?

  12. 12

    如何制作一个可以打开另一个活动的按钮

  13. 13

    每次在网格视图中单击按钮或链接时如何打开另一个新的弹出窗口

  14. 14

    从另一个视图单击按钮时打开 TabPane

  15. 15

    单击列表视图项以在单独的活动中显示另一个列表视图

  16. 16

    当我们在SrollView的TextView中单击单个文本时,如何打开另一个活动

  17. 17

    区分按下“主页”按钮和打开另一个活动

  18. 18

    如何使用actionListener打开另一个类中的Jframe作为构造函数?

  19. 19

    在Swift iOS中单击按钮即可将视图移至另一个视图

  20. 20

    在Swift iOS中单击按钮即可将视图移至另一个视图

  21. 21

    如何使用CheckBox或将按钮从一个活动切换到另一个活动来在android中打开或关闭一个特定的音频文件?

  22. 22

    单击另一个活动中的按钮时,调用检查Internet连接类

  23. 23

    单击上载按钮后,在另一个活动中显示图像

  24. 24

    如何在按钮上设置密码以打开另一个活动?

  25. 25

    如何使用jQuery防止另一个单击事件中的活动类上的单击事件

  26. 26

    Android活动-如何在android中打开另一个活动?

  27. 27

    将数据从一个活动的按钮单击事件发送到后台的另一个活动的edittext

  28. 28

    单击按钮时如何打开另一个表单?

  29. 29

    当我单击列表视图项时,应用程序崩溃,而不是打开另一个活动

热门标签

归档