2013-10-09 3 views
4

현재 HTML이 있거나 없을 수있는 문자열에 바인딩 된 android : TextView가 있습니다.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에 바인딩한다고 생각했습니다. 나는 안드로이드 개발에 상당히 익숙하다. 그래서 이것도 할 수 있는지, 아니면 내가 접근해야하는 또 다른 방법이 있는지 확실하지 않다. 전체 웹보기를 렌더링

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)" /> 

을 (Html.FromHtml(input)를 사용하여) 보통 ValueConverter와 구문 분석 HTML을 수행합니다 - HTML 텍스트의 소량 들어

답변

8

, 당신은 텍스트 뷰의 TextFormatted 속성을 사용할 수 있습니다 VM이 변경 될 때 LoadData를 호출하려면 사용자 지정 바인딩을 추가하거나 상속 받아 사용자 지정 속성을 제공해야합니다. 이것은 UIWebView에 사용 된 상속 기술과 비슷합니다. Dynamic Binding UIWebView in MVVMCross

+0

완벽하게 작동합니다. 스튜어트, 감사합니다! 나는 Mvx가 "FromHtml (value)"을 기반으로하는 값 변환기를 찾지 못한다고 생각했습니다. –

관련 문제