2017-02-15 3 views
0

У меня есть два ImageButton с двумя разными URL-адресами. Когда я нажимаю изображение, он возвращает белый экран. Я не знаю, в чем проблема. Любые изменения или предложения приветствуются.Мой веб-просмотр пуст

Спасибо!

Основная деятельность

public class main extends AppCompatActivity { 

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

     ImageButton amazon = (ImageButton)findViewById(R.id.imagebutton1); 
     ImageButton flipkart = (ImageButton)findViewById(R.id.imagebutton2); 

     amazon.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast.makeText(getApplicationContext(),"Amazon",Toast.LENGTH_LONG).show();// display the toast on home button click 
       Intent intent = new Intent(main.this, MainActivity.class); 
       intent.setData(Uri.parse("http://www.amazon.com")); 
       WebView webview = new WebView(main.this); 
       setContentView(webview); 

       startActivity(intent); 



      } 
     }); 
     flipkart.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast.makeText(getApplicationContext(),"Flipkart",Toast.LENGTH_LONG).show();// display the toast on you tube button click 
       Intent intent = new Intent(main.this, MainActivity.class); 
       intent.setData(Uri.parse("http://www.flipkart.in")); 
       startActivity(intent); 
      } 
     }); 

    } 

мой WebView активность

public class MainActivity extends AppCompatActivity { 

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

    WebView htmlWebView = (WebView) findViewById(R.id.webView); 
    htmlWebView.setWebViewClient(new CustomWebViewClient()); 
    WebSettings webSetting = htmlWebView.getSettings(); 
    webSetting.setJavaScriptEnabled(true); 
    webSetting.setDisplayZoomControls(true); 
    htmlWebView.loadUrl(""); 
} 



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

Вы никогда не устанавливаете URL-адрес. Вам нужно использовать getIntent() внутри MainActivity, чтобы получить значение данных, передаваемых классом. – Mikerizzo

ответ

0

Вы хотите загрузить Url в вашем приложении или хотите открыть с помощью внешнего браузера. anaway Я дал надрезается код для открытия страницы в WebView, как указано ниже в приложении, как:

WebView mynews; 
     ProgressBar pb; 
     @Override 
     protected void onCreate(@Nullable Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.newsreadscreen); 
      Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
      setSupportActionBar(toolbar); 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     pb= (ProgressBar) findViewById(R.id.progress_bar); 
      mynews= (WebView) findViewById(R.id.mynews); 
      mynews.getSettings().setJavaScriptEnabled(true); 
      mynews.getSettings().setDefaultFontSize(17); 
      mynews.getSettings().setDisplayZoomControls(true); 
      mynews.getSettings().setDomStorageEnabled(true); 
      mynews.getSettings().setLoadsImagesAutomatically(true); 



      mynews.setWebViewClient(new WebViewClient() { 

       @Override 
       public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       pb.setVisibility(View.VISIBLE); 
        view.loadUrl(url); 
        return true; 
       } 

       @Override 
       public void onPageFinished(WebView view, String url) { 
        pb.setVisibility(View.GONE); 
        super.onPageFinished(view, url); 
       } 

       @Override 
       public void onPageStarted(WebView view, String url, Bitmap favicon) { 
        pb.setVisibility(View.VISIBLE); 
        super.onPageStarted(view, url, favicon); 

       } 
      }); 

    mynews.loadUrl("https://www.google.co.in"); 

это код, который я редактировал

amazon.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast.makeText(getApplicationContext(),"Amazon",Toast.LENGTH_LONG).show();// display the toast on home button click 
       Intent intent = new Intent(main.this, MainActivity.class); 
       intent.putExtra("url","http://www.amazon.com"); 
       startActivity(intent); 



      } 
     }); 

получить значение на MainActivity .Class onCreateMethod, как показано ниже

String url=getIntent().getStringExtra("url"); 
mynews.loadUrl(url); 
+0

Я хочу, чтобы URL-адрес был открыт внутри приложения. –

+0

в порядке, чем выше, код может вам помочь. –

+0

Я попробую как можно скорее и вернусь к комментарию. –