2015-11-20 5 views
0

Так что я пытаюсь загрузить URL-адрес в Dialog с помощью webview. Я также установил интернет-разрешение в файле манифеста. но URL-адрес не загружается. Я не знаю, что не так. Я также попробовал решение this.Android: webView внутри Dialog, URL-адрес не загружается

Редактировать: Подключение к Интернету не является проблемой, так как я могу просматривать Google в браузере эмулятора. activity_main.xml

<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" 
    tools:context=".MainActivity" > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textSize="25sp" 
     android:text="Reddit OAuth2" /> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:id="@+id/auth" 
     android:text="Sign in with Reddit" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/Access" 
     android:autoLink="all" 
     android:textIsSelectable="true" 
     android:layout_gravity="center" 
     android:textSize="10sp"/> 

</LinearLayout> 

auth_dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 
<WebView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/webv"/> 

</LinearLayout> 

MainActivity.java

public class MainActivity extends AppCompatActivity { 

WebView web; 
Button auth; 
SharedPreferences pref; 
TextView Access; 
Dialog auth_dialog; 

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

    Access =(TextView)findViewById(R.id.Access); 
    auth = (Button)findViewById(R.id.auth); 
    auth.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      auth_dialog = new Dialog(MainActivity.this); 
      auth_dialog.setContentView(R.layout.auth_dialog); 
      web = (WebView) auth_dialog.findViewById(R.id.webv); 
      web.getSettings().setJavaScriptEnabled(true); 

      web.loadUrl("http://www.google.com"); 

      web.setWebViewClient(new WebViewClient() { 
       @Override 
       public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        view.loadUrl(url); 
        return true; 
       } 

      }); 
      auth_dialog.show(); 
      auth_dialog.setTitle("Authorize"); 
      auth_dialog.setCancelable(true); 
      } 
      }); 

    } 
    } 

Output i am getting:

Это выход, который я получаю.

+2

Проверьте доступ в Интернет! – activesince93

+0

Возможно, у вас нет доступа к интернету. ;-) –

+0

Я проверил подключение к Интернету, просмотрев Google из браузера эмулятора. – Try

ответ

0

вы должны установить для shouldOverrideUrlLoading значение false. Теперь ваш код использует встроенный браузер вместо вашего веб-сайта для загрузки URL-адреса

 web.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 

       return false; 
      } 

     });