2011-06-30 13 views
0

私のAndroidアプリでは、Javaコードから新しいWebViewsを作成しています。しかし、私はこれらのWebViewsを作成した後、私の以前の作業IDは上書きされます。R.id.値は上書きされます

例は、スニペット:

とjava.lang.ClassCastException:android.webkit.WebView

for (int i=0;i<mywebviewarray.length;i++){ 
    mywebviewarray[i]=new WebView(); 
} 
((Button)findViewById(R.id.mybutton).settext("ok"); 

私はこのコードを実行すると、私は最後の行に例外を取得します

findViewByIdを支持するテーブルが上書きされたように見えます。私はsetIdを呼び出してみました。それは助けにはならない。

この問題を解決するにはどうすればよいですか?

+0

もっとコードが必要です。 R.id.myButtonとは何ですか、コンテンツビューを設定しています – Blundell

+0

プロジェクトを再構築しようとしています:Project ==> Clean ==>プロジェクトを選択してOKを押してください – Houcine

+0

xmlファイルと を追加しました。ループのidを設定しますが、何を設定しましたか? 'mywebviewarray [i] .setId(String.valueOf(i));' – Mutmatt

答えて

1

私はこの問題を解決することなく、WebViewの動的配列を使用する代わりに、固定3 WebViewを使用して終了しました。私は3つの長さのウィンドウのようなコンテンツをURLの配列に変更して、元のコンセプトをシミュレートします。 (より遅い方法ではあるが)

2

何がmywebviewarrayにありますか。 WebViewとは違うものがあり、WebViewとしてインスタンス化しようとしているようです。

+0

を試してください。WebView [] mywebviewarray = new WebView [5]; findViewById行で例外がスローされます。私はそれを複数回チェックした。 R.id.mybuttonは、main.xmlのボタンを参照しています。私も逆のテストを試みました: ((WebView)findViewById(R.id.mybutton))。loadUrl( "about:blank"); が成功しました(!)。 – Gabor

関連する問題