2015-10-09 4 views
0

Есть ли способ использовать привязку MvvmCross с настройками Android? Я имею в виду что-то вроде этого:MvvmCross привязка Android в настройках

<PreferenceScreen 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:local="http://schemas.android.com/apk/res-auto"> 
    <EditTextPreference 
     android:title="Name" 
     android:key="NameKey" 
     android:summary="Input your name" 
     local:MvxBind="Title Name; Enabled NameIsEnabled"/> 
    </PreferenceCategory> 
</PreferenceScreen> 

Мне нужно связывание, потому что я хочу динамически изменять предпочтения и локализовать названия и резюме. В настоящее время я использую этот Andrei Nitescu's idea для локализации. Могу ли я это сделать, например, используя собственный BindablePreferenceFragment или BindableEditTextPreference?

+0

Я работаю над креплениями для предпочтения: https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/91, но не ожидайте его в любое время скоро. – Martijn00

ответ

0

Почему бы не привязаться к собственности, как это?

SpinnerItem _selectedNumberPlayers; 
public SpinnerItem SelectedNumberPlayers 
{ 
    get { return _selectedNumberPlayers; } 
    set 
    { 
     if (_selectedNumberPlayers != value) 
     { 
      _selectedNumberPlayers = value; 

      SettingsPreferences.SelectedNumberPlayers = _selectedNumberPlayers.Index; 

      RaisePropertyChanged(() => SelectedNumberPlayers); 
     } 
    } 
} 

Вот связывание:

<Mvx.MvxSpinner 
    android:layout_weight="0.3" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    local:MvxItemTemplate="@layout/item_spinner" 
    local:MvxBind="ItemsSource NumberPlayers; SelectedItem SelectedNumberPlayers" 
    android:id="@+id/SelectedTopPlayersSpinner" /> 
+0

Но как адаптировать это с настройками Android? –

+0

В свойствах я обновляю свои настройки андроида напрямую: SettingsPreferences.SelectedNumberPlayers = _selectedNumberPlayers.Index; – PmanAce

Смежные вопросы