2013-10-09 20 views
4

我目前有一個android:TextView綁定到可能包含或不包含HTML的字符串。如何將HTML字符串綁定到Android應用程序中的webview?

<TextView 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:autoLink="all" 
     android:padding="10dp" 
     style="@style/ListItemText" 
     local:MvxBind="Text Answer" /> 

不知何故,我需要能夠顯示與HTML呈現這個文本。所以我想我會將TextView切換到WebView並將相同的字符串綁定到WebView。我對Android開發相當陌生,所以我不確定這是否可以完成,或者是否有另一種方法可以解決這個問題。 (使用Html.FromHtml(input)

public class FromHtmlValueConverter : MvxValueConverter<string> 
{ 
    protected override object Convert(string value, Type targetType, object parameter, CultureInfo culture) 
    { 
     return Html.FromHtml(value); 
    } 
} 

<TextView 
    android:text="Medium Text" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:autoLink="all" 
    android:padding="10dp" 
    style="@style/ListItemText" 
    local:MvxBind="TextFormatted FromHtml(Answer)" /> 

對於渲染一個完整的WebView通常用ValueConverter將要執行HTML解析 -

回答

8

對於少量的HTML文本,你可以使用一個TextView的TextFormatted財產,那麼您需要添加自定義綁定(或繼承並提供自定義屬性),以便在虛擬機發生更改時調用LoadData。這與用於UIWebView的繼承技術類似,在Dynamic Binding UIWebView in MVVMCross

+0

完美工作斯圖爾特,謝謝!我不知道Mvx會根據「FromHtml(value)」尋找一個值轉換器。 –

相關問題