需要帮助从原生 Android 浏览器更改为 webview

发布于 2024-10-28 03:45:18 字数 518 浏览 1 评论 0原文

好的,我已经完成了我的应用程序,我正在对其进行一些小的调整,有一件事是我更喜欢在 webview 而不是股票浏览器中启动我的网络链接......我已经尝试了很多事情,我不断收到错误,并且 Eclipse 不断启动调试透视图,我被困住了..

// XXXX.edu Button
        Button XXXX_Button = (Button)findViewById( R.id.XXXX_Button );
        XXXXXX_Button.setOnClickListener( new View.OnClickListener()
        {
        public void onClick(View v)
        {
            Uri uri = Uri.parse( "http://www.XXXXXX.edu/" );
            startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
        }
        });

Ok, so I've got my app done, and I'm working on minor tweaks for it, and one thing is I would prefer my web links to launch in webview instead of the stock browser... I've tried so many things and I keep getting errors and eclipse keeps launching the debug perspective and I'm stuck..

// XXXX.edu Button
        Button XXXX_Button = (Button)findViewById( R.id.XXXX_Button );
        XXXXXX_Button.setOnClickListener( new View.OnClickListener()
        {
        public void onClick(View v)
        {
            Uri uri = Uri.parse( "http://www.XXXXXX.edu/" );
            startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
        }
        });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挥剑断情 2024-11-04 03:45:18

您需要扩展 WebViewClient,并启动其中的 url。

public class WebActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        webview = (WebView) findViewById(R.id.wv);
        webview.setWebViewClient(new WebC());
        webview.loadUrl(baseUrl);
    }

    public class WebC extends WebViewClient
    {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
            super.onReceivedError(view, errorCode, description, failingUrl);
        }

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

在你的布局 xml 中,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

    <WebView
        android:id="@+id/wv"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
</LinearLayout>

You need to extend WebViewClient, and launch the url within that.

public class WebActivity extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        webview = (WebView) findViewById(R.id.wv);
        webview.setWebViewClient(new WebC());
        webview.loadUrl(baseUrl);
    }

    public class WebC extends WebViewClient
    {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
            super.onReceivedError(view, errorCode, description, failingUrl);
        }

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

And in your layout xml,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

    <WebView
        android:id="@+id/wv"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
</LinearLayout>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文