Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将motiondector.activity1转换为android.hardware_C#_Android_Xamarin.android_Accelerometer_Xamarin - Fatal编程技术网

C# 无法将motiondector.activity1转换为android.hardware

C# 无法将motiondector.activity1转换为android.hardware,c#,android,xamarin.android,accelerometer,xamarin,C#,Android,Xamarin.android,Accelerometer,Xamarin,我正在使用教程为android编程加速计。但我遇到了一些我不确定的棘手问题。代码如下: protected override void OnResume() { base.OnResume (); _sensorManager.RegisterListener (this, _sensorManager.GetDefaultSensor (SensorType.Accelerometer), SensorDelay.Ui); // this is w

我正在使用教程为android编程加速计。但我遇到了一些我不确定的棘手问题。代码如下:

protected override void OnResume()

    {

        base.OnResume ();

        _sensorManager.RegisterListener (this, _sensorManager.GetDefaultSensor (SensorType.Accelerometer), SensorDelay.Ui); // this is where I get " cannot convert from "MotionDector.1 to Android.Hardware.ISensorEventListener" 

    }



    protected override void OnPause()

    {

        base.OnPause ();

        _sensorManager.UnregisterListener (this); // Same problem here

    }

我已经包含了android.hardware名称空间。我的项目名是MotionDector

在这里很好用。你还记得你班上的失语中的
IsSensorEventListener
?我使用完全相同的方法

使用System.Text;
使用Android.App;
使用Android.Hardware;
使用Android.Widget;
使用Android.OS;
名称空间加速计
{
[活动(Label=“AccelerometerShiz”,MainLauncher=true,Icon=“@drawable/Icon”)]
公共类活动1:活动,IsSensorEventListener
{
私人SensorManager\u SensorManager;
私有文本视图_sensorTextView;
私有静态只读对象SyncLock=新对象();
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
//从“主”布局资源设置视图
SetContentView(Resource.Layout.Main);
_sensorManager=(sensorManager)GetSystemService(SensorService);
_sensorTextView=FindViewById(Resource.Id.Accelerator\u text);
}
受保护的覆盖void OnResume()
{
base.OnResume();
_sensorManager.RegisterListener(这个,_sensorManager.GetDefaultSensor(SensorType.Accelerator),SensorDelay.Ui);
}
受保护的覆盖void OnPause()
{
base.OnPause();
_sensorManager.UnregistereListener(此);
}
准确度更改(传感器、传感器状态准确度)
{
//我们不想在这里做任何事。
}
传感器更改时的公共无效(传感器事件e)
{
锁定(同步锁定)
{
var text=新的StringBuilder(“x=”)
.Append(e.Values[0])
.Append(“,y=”)
.Append(例如值[1])
.Append(“,z=”)
.附加(e.值[2]);
_sensorTextView.Text=Text.ToString();
}
}
}
}
using System.Text;
using Android.App;
using Android.Hardware;
using Android.Widget;
using Android.OS;

namespace AccelerometerShiz
{
    [Activity(Label = "AccelerometerShiz", MainLauncher = true, Icon = "@drawable/icon")]
    public class Activity1 : Activity, ISensorEventListener
    {
        private SensorManager _sensorManager; 
        private TextView _sensorTextView; 
        private static readonly object SyncLock = new object();

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            _sensorManager = (SensorManager)GetSystemService(SensorService);
            _sensorTextView = FindViewById<TextView>(Resource.Id.accelerometer_text);
        }

        protected override void OnResume()
        {
            base.OnResume();
            _sensorManager.RegisterListener(this, _sensorManager.GetDefaultSensor(SensorType.Accelerometer), SensorDelay.Ui);
        }

        protected override void OnPause()
        {
            base.OnPause();
            _sensorManager.UnregisterListener(this);
        }

        public void OnAccuracyChanged(Sensor sensor, SensorStatus accuracy)
        {
            // We don't want to do anything here.
        }

        public void OnSensorChanged(SensorEvent e)
        {
            lock (SyncLock)
            {
                var text = new StringBuilder("x = ")
                    .Append(e.Values[0])
                    .Append(", y=")
                    .Append(e.Values[1])
                    .Append(", z=")
                    .Append(e.Values[2]);
                _sensorTextView.Text = text.ToString();
            }
        }
    }
}