2015-12-20 4 views
0

Я использую xamarin (C#) для создания приложения andriod. Я хотел бы сделать функцию перетаскивания кнопки. Я использовал ontouch слушателя и следовать guildence официального сайта, но он не работает. (the official guidelines:detech a touch)Ошибка: (namespace.Activity) не реализует член интерфейса «android.views.view., Ontouch»

Он продолжает иметь эту CountUpDown.LearnMaths ошибку (namespace.Activity) не реализует элемент интерфейса «andriod.views.ontouchlisterner»

CountUpDown.axml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:background="#DEDEDC" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:minWidth="300dp" 
    android:minHeight="400dp"> 
    <Button 
     android:text="Button" 
     android:padding="6dip" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/img04" 
     android:id="@+id/dragObj" 
     android:layout_marginRight="0.0dp" /> 
</LinearLayout> 

CountUpDown.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using Android.App; 
using Android.Content; 
using Android.OS; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 


namespace LearnMaths 
{ 


    [Activity (Label = "CountUpDown")]   
    public class CountUpDown : Activity, View.IOnTouchListener 
    { 

     private Button dragObj; 
     private float _viewX; 



     protected override void OnCreate (Bundle bundle) 
     { 

      base.OnCreate (bundle); 
      SetContentView (Resource.Layout.CountUpDown); 

      dragObj = FindViewById<Button> (Resource.Id.dragObj); 
      dragObj.SetOnTouchListener (this); 
      // Create your application here 
     } 

     public bool onTouch(View v, MotionEvent e){ 
      switch (e.Action) 
      { 
      case MotionEventActions.Down: 
       _viewX= e.GetX(); 
       break; 
      case MotionEventActions.Move: 
       var left = (int)(e.RawX - _viewX); 
       var right = (int)(left + v.Width); 
       v.Layout (left, v.Top, right, v.Bottom); 
       break; 

      } 
      return true; 

    } 
    } 

} 

    enter code here 
+0

View.IOnTouchListener => View.OnTouchListener Или общественный класс CountUpDown: активность, View.IOnTouchListener неправильно, я не знаю Xamarin. –

+0

его C# xamarin точно так же, как andriod studio, но с использованием C# –

+0

В андроиде, открытый класс CountUpDown extend Activity activity View.IOnTouchListener.Activity и View.IOnTouchListener не могут быть родственными. –

ответ

0

заглавных вопросы:

public bool onTouch(View v, MotionEvent e){ 

должно быть (капитал "O")

public bool OnTouch(View v, MotionEvent e){