(X) 個のタブを持つアプリケーションを作成しました。各タブは動的に作成され、関連する WebView が作成されます。
「リロード」ボタンのあるメニューもあります。このメニューをクリックすると、動的に作成されたすべての Web ビューをリロードしたいのですが、ID のないこれらの Web ビューのハンドルを取得する方法が問題です。
WebView を作成するアクティビティのスニペットを次に示します。
@myId
// 以下のコードで、2 つの Stringsと@url
が別のアクティビティから渡されることに注意してください。
WebView browse;
protected void onCreate(Bundle savedInstanceState) {
final Activity activity = this;
super.onCreate(savedInstanceState);
browse=new WebView(this);
browse.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN );
setContentView(browse);
Intent sender=getIntent();
String myUrl = sender.getStringExtra("url");
int myId = Integer.parseInt( sender.getStringExtra("webid") );
browse.setId( myId );
browse.setWebViewClient( new Youm7WebViewClient());
browse.getSettings().setJavaScriptEnabled(true);
browse.loadUrl( myUrl );
}
今、他のアクティビティで、「リロード」ボタンをクリックして次のことをしようとしました
i
上記のアクティビティで送信された値と同じであることに注意してくださいMyId
// this crashes the app
for(int i=0;i<tabs.length;i++){
String X = String.valueOf(i);
WebView ourWebview = (WebView) findViewById(i);
ourWebview.reload();
}