2011-10-29 10 views
2

メイン(1つの画像を含む)、ダイアログ(別の画像を含む)、ブラウザ(webViewを含む)、アクティビティソースIメインレイアウトのクリックイメージでダイアログを呼び出し、ダイアログに別のイメージが表示され、ダイアログイメージをクリックすると、ブラウザレイアウトのメインレイアウトが変更され、ブラウザが特定のURIを読み込んでダイアログを閉じます。他の画面からwebviewを呼び出す方法

私のコードは、私が別のレイアウトでWebViewを使用する必要があると分かっていないため、動作しません。たとえば、ダイアログを呼び出すには、dialog.findViewById(R.id.webView1)かmain only findViewById(R。 id.webView1)が、これは今で動作しないとアプリがクラッシュ...

マイコード:

 ImageView imgMain = (ImageView)findViewById(R.id.imgMain1); 

    imgMain.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     final Dialog dialog = new Dialog(mainActivity.this); 
     dialog.setContentView(R.layout.dialog); 
     dialog.setTitle("Android"); 
     dialog.setCancelable(true); 
     dialog.show(); 

     //Boton de cerrar del dialog Android 
     Button closeDialog = (Button)dialog.findViewById(R.id.closeDialogBT); 
     closeDialog.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       dialog.cancel(); 
      } 
     }); 

     //click en imagen juegos del dialog android 
      ImageView imgDialog = (ImageView)dialog.findViewById(R.id.imgDialog1); 
      imgDialog.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        final WebView mWebView = (WebView)findViewById(R.id.webView1); 
        mWebView.loadUrl("http://www.example.com"); 
        mWebView.setWebViewClient(new WebViewClient()); 
        setContentView(R.layout.browser); 
        dialog.cancel(); 
       } 
     }); 


    } 
    }); 

はありがとうございました!!!!

答えて

0

1つのアクティビティのWebViewを他のアクティビティから開始したいのはなぜですか?

「imgDialog」からWebViewを含むアクティビティをインテントと共に開始する方がよいでしょう。

とその意図の追加でURL文字列を送信します。

次のステップでは、インテントから取得したURL文字列でwebviewを読み込みます。

0

これを試してください。これがあなたを助けることを願っています

public class Example extends Activity { 

private WebView mWebView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.translate); 

    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.loadUrl("http://www.example.com"); 
    mWebView.setWebViewClient(new HelloWebViewClient()); 


} 

private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView webview, String url) 
    { 
     webview.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); 
} 
} 
関連する問題