Обнаружить изменение местоположения в Android - PullRequest
1 голос
/ 24 января 2012

В моем приложении для Android есть веб-просмотр.Но у меня есть проблема, потому что, когда я проверяю некоторые флажки внутри сайта и перехожу на другой сайт по ссылке на самом сайте, а затем возвращаюсь на сайт флажков, флажки снова не проверяются.то, что не происходит в браузере Android по умолчанию.Как я могу это исправить???Пожалуйста, помогите и спасибо заранее.Я использую этот код:

public class finnActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
Button TilbakeButton;
WebView FinnWeb;
private String currentURL;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    FinnWeb = (WebView)findViewById(R.id.FinnWeb);
    FinnWeb.setWebViewClient(new MyWebViewClient());
    FinnWeb.getSettings().setBuiltInZoomControls(true); 
    FinnWeb.getSettings().setJavaScriptEnabled(true);
    FinnWeb.loadUrl("http://m.finn.no");
    FinnWeb.requestFocus(View.FOCUS_DOWN);
    }
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        if (FinnWeb.canGoBack()) {
            FinnWeb.goBack();
        }
        else {
            System.exit(0);
        }
        return true;
}
    return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu meny) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menubuttons, meny);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
    case R.id.LoggInn:
        setContentView(R.layout.main);
        FinnWeb  = (WebView) findViewById(R.id.FinnWeb);
        FinnWeb.setWebViewClient(new MyWebViewClient());
        FinnWeb.getSettings().setJavaScriptEnabled(true);
        FinnWeb.loadUrl("http://m.finn.no/#loginForm.html");
        FinnWeb.requestFocus(View.FOCUS_DOWN);
        break;
    case R.id.OmUtvikler:
        setContentView(R.layout.omutvikler);
        TilbakeButton = (Button)findViewById(R.id.TilbakeButton);
        TilbakeButton.setOnClickListener(this);
        break;
    case R.id.RegistrerDeg:
        setContentView(R.layout.main);
        FinnWeb  = (WebView) findViewById(R.id.FinnWeb);
        FinnWeb.setWebViewClient(new MyWebViewClient());
        FinnWeb.getSettings().setJavaScriptEnabled(true);
        FinnWeb.loadUrl("http://m.finn.no/#auth/registrer.html");
        FinnWeb.requestFocus(View.FOCUS_DOWN);
        break;
    case R.id.Tilbake:
        if (FinnWeb.canGoBack()) {
            FinnWeb.goBack();
        }
        else{

        }
        break;
    case R.id.Frem:
        if (FinnWeb.canGoForward()) {
            FinnWeb.goForward();
        }
        else{

        }
        break;
    case R.id.ExitWithSaving:
        FinnWeb.saveState(null);
        System.exit(0);
        break;
    case R.id.Exit:
        System.exit(0);
        break;
    case R.id.LastAnnose:
        FinnWeb.restoreState(null);
        break;
        }
    return true;
}
public void onClick(View src) {
    switch(src.getId()) {
    case R.id.TilbakeButton:
        setContentView(R.layout.main);
        FinnWeb  = (WebView) findViewById(R.id.FinnWeb);
        FinnWeb.setWebViewClient(new MyWebViewClient());
        FinnWeb.getSettings().setJavaScriptEnabled(true);
        FinnWeb.getSettings().setBuiltInZoomControls(true); 
        FinnWeb.requestFocus(View.FOCUS_DOWN);
        break;
    }
}
public boolean shouldOverrideUrlLoading(WebView view, String url) 
{   view.loadUrl(url);
    //save off url in instance variable
    return true;
 }

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