Макет с вкладками и веб-просмотров - PullRequest
1 голос
/ 03 июня 2011

В настоящее время я работаю с макетом с вкладками ... Но на вкладках я хотел бы иметь веб-просмотры ...

Проблема, которую я получаю, состоит в том, что по какой-то причине из-за вкладок не должно работатьOverrideUrlLoading ион все еще открывает браузер ...

Вот мой источник:

Моя основная активность:

package app.numbers4sports.com;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TabHost;

    public class numbers4sports extends TabActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, CounterActivity.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("counter").setIndicator("COUNTER",
                          res.getDrawable(R.drawable.ic_tab_counter))
                      .setContent(intent);
        tabHost.addTab(spec);

        // Do the same for the other tabs
        intent = new Intent().setClass(this, HelpActivity.class);
        spec = tabHost.newTabSpec("help").setIndicator("HELP",
                          res.getDrawable(R.drawable.ic_tab_help))
                      .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, HomeActivity.class);
        spec = tabHost.newTabSpec("home").setIndicator("ORDER",
                          res.getDrawable(R.drawable.ic_tab_home))
                      .setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(2);
    }



    }

Моя домашняя активность (первое веб-просмотрение):

package app.numbers4sports.com;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class HomeActivity extends Activity {
    WebView mWebView;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://www.numbers4sports.com");
    }
    private class abcd extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }




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

}

Ответы [ 3 ]

1 голос
/ 03 июня 2011

Я не вижу в вашем коде WebView.setWebViewClient ()?

0 голосов
/ 21 сентября 2015

Убедитесь, что ваш WebViewClient размещен правильно И убедитесь, что вы пишете return true;.

0 голосов
/ 10 мая 2013

mWebView. setWebViewClient () {
@ Override
// Показать в WebView вместо браузера
public boolean shouldOverrideUrlLoading (представление WebView, URL-адрес строки)
{
view.loadUrl (URL);
верните истину;
}
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...