你可以通过反射得到他的方法,然后听一听:</p>
Slider slider = FindViewById<Slider>(Resource.Id.slider1);
var method = Java.Lang.Class.ForName("com.google.android.material.slider.BaseSlider").GetDeclaredMethods().FirstOrDefault(x => x.Name == "addOnChangeListener");
method?.Invoke(slider, this); // this is implementing IBaseOnChangeListener
所以让你的活动实现IBaseOnChangeListener
接口:
public class YourActivity: AppCompatActivity, IBaseOnChangeListener
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
...
Slider slider = FindViewById<Slider>(Resource.Id.slider1);
var method = Java.Lang.Class.ForName("com.google.android.material.slider.BaseSlider").GetDeclaredMethods().FirstOrDefault(x => x.Name == "addOnChangeListener");
method?.Invoke(slider, this); // this is implementing IBaseOnChangeListener
}
public void OnValueChange(Java.Lang.Object p0, float p1, bool p2)
{
Console.WriteLine("slide:" + p1);//p1 is the value you want
}
}