0

そのアクティビティ内のWebViewのみでアクティビティを作成しました。そのアクティビティを複数の場所で使用したいと考えています。URLとPAGETITLEをパラメータとして渡すだけですそれを動作させるための練習や、ロードする必要のあるすべてのWebviewに対して新しいアクティビティを作成する必要がありますか?アプリケーション内でのWebViewアクティビティの再利用

おかげ

public class WebviewActivity extends BaseAppCompatActivity { 
private WebView mWebView; 
private String mPageTitle,mUrl; 

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

    Bundle extras = getIntent().getExtras(); 
    if (extras == null) { 
     mPageTitle = "pagetitle"; 
     mUrl = null; 

    } else { 
     mPageTitle = extras.getString(Constants.PAGE_TITLE); 
     mUrl = extras.getString(Constants.URL); 
    } 

    if (getSupportActionBar() != null) { 
     getSupportActionBar().setTitle(mPageTitle); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    } 

    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 

    mWebView.setWebViewClient(new WebViewClient()); 
    mWebView.loadUrl(mUrl); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      onBackPressed(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
    } 
} 
+0

このアクティビティは再利用できますか?何で質問する? – greenapps

+0

私はAndroidを勉強しており、このようなことのためにベストプラクティスを確認したいと思います。ありがとうございます。 –

答えて

0

あなたはそれを開始するためにIntentを送信することにより、単に他の活動と同様に、このアクティビティを再利用することができます

// "this" references the context 
Intent intent = new Intent(this, WebviewActivity.class); 
intent.putExtra(Constants.PAGE_TITLE, "Stack Overflow"); 
intent.putExtra(Constants.URL, "http://stackoverflow.com/"); 
startActivity(intent); 

をシステム等のライフサイクル(破壊、作成し、処理します)、これを再利用するために行うべきことはこれだけです。

+0

偉大な、ライフサイクルの部分は私が知っておく必要がある、ありがとう! –

関連する問題