Xamarin Android - 未调用Preference事件中的SeekBar

时间:2015-08-31 16:04:43

标签: android events xamarin progress seekbar

我尝试在使用role_code的{​​{1}}内制作自定义Preference。我遇到的问题是我似乎无法调用事件。

options.xml中的首选项:

PreferenceActivity

slider_preference.xml:

SeekBar

OptionsActivity.cs

<Preference
    android:key="radius"
    android:title="Radius"
    android:layout="@layout/slider_preference" />

使用断点,我能够确定仅在以编程方式设置seek.Progress时才调用<SeekBar android:layout_width="fill_parent" android:layout_height="wrap_content" android:progress="4000" android:max="9000" android:id="@+id/seeker" android:gravity="center" android:layout_gravity="center" android:layout_weight="2" /> 事件。每当我在UI中更改它时,都不会调用该事件。在我看来,有两个不同的[Activity(Label = "Options", ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait)] public class OptionsActivity : PreferenceActivity { //... protected override void OnCreate(Bundle savedInstanceState) { var radius = (Preference)FindPreference(Preferences.RADIUS); View radiusView = radius.GetView(null, null); SeekBar seek = radiusView.FindViewById<SeekBar>(Resource.Id.seeker); TextView bottomTitle = radiusView.FindViewById<TextView>(Resource.Id.bottom_text); seek.ProgressChanged += delegate { RunOnUiThread(() => { bottomTitle.Text = (seek.Progress + 1000).ToString() + " feet"; }); }; seek.Progress = 9000; } //... } 包含ProgressChanged,而我实际接触的那个与代码中的那个不同。

我该如何解决这个问题?

0 个答案:

没有答案