【发布时间】:2018-05-18 07:21:53
【问题描述】:
我的代码有问题。覆盖布尔在片段中不起作用,但是当我在活动上尝试它时。它完美地工作。错误显示“找不到合适的方法来覆盖”。我不知道为什么覆盖布尔在片段中不起作用。
代码:
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.Util;
using Android.Views;
using Android.Widget;
using SupportFragment = Android.Support.V4.App.Fragment;
using Android.Support.Design.Widget;
using Android.Support.V7.App;
using Android.Support.V4.Widget;
using Android.Support.V4.App;
using Android.Views.Animations;
namespace EFCAndroid
{
public class Fragment_menu : SupportFragment
{
private float initialX;
private ViewFlipper viewflipper;
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your fragment here
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// Use this to return your custom view for this Fragment
// return inflater.Inflate(Resource.Layout.YourFragment, container, false);
View view = inflater.Inflate(Resource.Layout.fragment_menu, container, false);
viewflipper = view.FindViewById<ViewFlipper>(Resource.Id.viewFlipper);
viewflipper.SetInAnimation(Activity, Resource.Animation.fade_in);
viewflipper.SetOutAnimation(Activity, Resource.Animation.fade_out);
viewflipper.SetFlipInterval(5000);
viewflipper.StartFlipping();
return view;
}
public override bool OnTouchEvent(MotionEvent ontouch)
{
//switch (ontouch.Action)
switch(ontouch.Action)
{
case MotionEventActions.Down:
initialX = ontouch.GetX();
break;
case MotionEventActions.Up:
float finalX = ontouch.GetX();
if (initialX > finalX)
{
if (viewflipper.DisplayedChild == 1)
break;
//viewflipper.SetInAnimation(this, Resource.Animation.fade_in);
//viewflipper.SetInAnimation(this, Resource.Animation.fade_out);
viewflipper.ShowNext();
}
else
{
if (viewflipper.DisplayedChild == 0)
break;
//viewflipper.SetInAnimation(this, Resource.Animation.fade_in);
//viewflipper.SetInAnimation(this, Resource.Animation.fade_out);
viewflipper.ShowPrevious();
}
break;
}
return false;
}
}
}
【问题讨论】:
-
Fragment 没有 ontouchevent 方法
-
嗨。我试试你给我的例子。但仍然无法正常工作。我把覆盖放在 view.setontouchlistener 里面。但仍然得到错误说没有找到合适的方法来覆盖:3
-
我的回答对你有用吗?
-
当我写 (new View.IOnTouchListener() 时仍然出错 C# 中没有名为 view.ontouchlistener() 的函数:(
-
不是
view.ontouchlistener(),是view.SetOnTouchListener();,注意包裹,是using Android.Views;。 Here可以看c#中的方法。
标签: c# android visual-studio xamarin fragment