2011-06-30 183 views
0

在我的Android應用程序中,我從Java代碼創建新的WebViews;然而,在我創建這些WebViews之後,我以前的工作ID將被覆蓋。R.id.值被覆蓋

例片段:

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

如果我運行此代碼,我得到的最後一行異常:

java.lang.ClassCastException:android.webkit.WebView

在我看來,支持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個WebViews。我將它們的內容像一個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