編輯:tl; dr:WebView顯示爲白色框,即使我似乎正確設置了它,並且確實它在前兩次都能正常工作,但隨後失敗)WebView在第二次初始化後顯示爲純白色框
編輯:Video showing the problem in action...
我有膨脹從該定義它的XML視圖(其中包含一個web視圖)下面的代碼位:
private void createCard(ViewGroup cvFrame, Card card) {
//... setup vairables...
cvFrame.clearDisappearingChildren();
cvFrame.clearAnimation();
try {
View cv = LayoutInflater.from(getBaseContext()).inflate(R.layout.card_back_view,
cvFrame, true);
cv.setBackgroundDrawable(Drawable.createFromStream(mngr.open(deckName + "_Card_back.png"), deckName));
TextView suit = (TextView)cv.findViewWithTag("card_back_suit");
//...setup text view for suit, this code works fine every time...
WebView title = (WebView)cv.findViewWithTag("card_back_title");
//This WebView doesn't appear to be the one which actually appears on screen (I can change settings till I'm blue in the face, with no effect)
if (title != null) {
title.setBackgroundColor(0x00000000);
title.loadData(titleText, "text/html", "UTF-8");
} else {
Log.e("CardView", "Error can't find title WebView");
}
} catch (IOException e) {
Log.e("CardView", "Error making cards: ", e);
}
}
當這個方法被稱爲作爲onCreate會議的一部分在我的Activity中,WebView包含正確的代碼,並且適當透明。
我有一個手勢監聽器,它用不同的內容替換ViewGroup的內容(它將頂部卡片向左移動,用卡片2替換頂部卡片的內容,放回頂部卡片,然後替換卡片2卡3)
//Gesture listener event
ViewGroup cvFrame = (ViewGroup)findViewById(R.id.firstCard);
cardLoc++
cvFrame.startAnimation(slideLeft);
(onAnimationEnd代碼)
public void onAnimationEnd(Animation animation) {
if (animation == slideLeft) {
ViewGroup cvFrameOldFront = (ViewGroup)findViewById(R.id.firstCard);
ViewGroup cvFrameNewFront = (ViewGroup)findViewById(R.id.secondCard);
createCard(cvFrameOldFront, cards.get((cardLoc)%cards.size()));
createCard(cvFrameNewFront, cards.get((cardLoc+1)%cards.size()));
TranslateAnimation slideBack = new TranslateAnimation(0,0,0,0);
slideBack.setDuration(1);
slideBack.setFillAfter(true);
cvFrameOldFront.startAnimation(slideBack);
}
}
當動畫已經發生和我替換的牌的內容,TextView的suit
被替換精細和代碼絕對通過穿過代碼t o替換WebView的內容,但由於某種原因,我最終得到了一個白色的矩形,表示WebView的大小和形狀,沒有內容,沒有透明度。
如果我改變的WebView到一個TextView,它的內容被替換細,所以它的出現只與WebView控件的一個問題:S
誰能告訴我爲什麼/提示修復?
titleText中有什麼?我假設它的HTML代碼。 – JoxTraex 2013-02-25 08:31:52
它只是簡單的HTML片段 - 它只需要富文本能力,如此粗體,斜體等。 – 2013-02-25 08:38:38
如果您只需要使用簡單的標籤,爲什麼不使用像這樣的HTML的'TextView':'textView.setText (Html.fromHtml(「標題」)'?檢查[這篇文章](http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html)for (TextView)支持的HTML標籤列表 – 2013-02-25 09:17:57