2013-09-13 2 views
0

Я делаю браузер WebView, и я получаю недостижимую ошибку кода в одной строке MainActivity, я все еще изучаю кодировку Android, поэтому приношу свои извинения, если это вопрос с noob. Я вставлю код ниже , Благодаря!WebView Unreachable Code

package com.browser.tssomas; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.webkit.WebChromeClient; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ProgressBar; 

public class MainActivity extends Activity{ 

WebView ourBrow; 
Button go; 
Button back; 
Button refresh; 
Button forward; 
Button clearHistory; 
EditText Url; 
ProgressBar Pbar; 

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

@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 



    ourBrow = (WebView) findViewById(R.id.wvBrowser); <-- UNREACHABLE CODE HERE 

    WebSettings webSettings = ourBrow.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    ourBrow.getSettings().setLoadWithOverviewMode(true); 
    ourBrow.getSettings().setUseWideViewPort(true); 
    ourBrow.getSettings().setBuiltInZoomControls(true); 
    ourBrow.getSettings().setAllowFileAccess(true); 

    refresh = (Button) findViewById(R.id.bRefresh); 
    Url = (EditText) findViewById(R.id.etURL); 
    Pbar = (ProgressBar) findViewById(R.id.progBar); 

    ourBrow.setWebViewClient(new InsideWebViewClient()); 
    ourBrow.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) 
      { 
      if(progress < 100 && Pbar.getVisibility() == ProgressBar.GONE){ 
       Pbar.setVisibility(ProgressBar.VISIBLE); 
      } 
      Pbar.setProgress(progress); 
      if(progress == 100) { 
       Pbar.setVisibility(ProgressBar.GONE); 
      } 
     } 
    }); 
    { 
    ourBrow.loadUrl("http://www.google.com"); 
    } 
    } 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.cH: 
    ourBrow.clearHistory(); 
    return true; 
    case R.id.HAGAY: 
    String theWebsite = Url.getText().toString(); 
    if(theWebsite != null) 
    ourBrow.loadUrl(theWebsite); 
    return true; 
    case R.id.Forward: 
    if (ourBrow.canGoForward()) 
    ourBrow.goForward(); 
    return true; 
    case R.id.back: 
    if (ourBrow.canGoBack()) 
    ourBrow.goBack(); 
    return true; 
    default: 
    return super.onOptionsItemSelected(item); 
    } 

} 
class myWebClient extends WebViewClient 
{ 

public void refreshButtonClicked(View view) 
{ 
    ourBrow.reload(); 
} 

} 

} 
+0

Сразу после 'getMenuInflater() нажимать' return true' прямо нажимаем (R.menu.main, menu) '. – Marcelo

ответ

1

Переведите заявление return true; в конец вашего метода. В Java возврат из метода означает, что метод перестает работать. Таким образом, код ourBrow = (WebView) findViewById(R.id.wvBrowser); не может выполняться, потому что методу дается указание остановиться перед ним. Это дает ошибку времени компиляции.