多个scrollview,scrollview1的scrollevent也会在Android上触发scrollsview2的scrolllevent

时间:2016-06-24 07:49:23

标签: android scrollview nativescript

在我的NativeScript-typescript应用程序中,我有一个屏幕上有2个ScrollViews。两个ScrollView都有一个scrolllevent。现在,当我滚动ScrollView1时,也会触发ScrollView2的ScrollEvent。至少在Android上就是这种情况。在iOS上,只有正在滚动滚动的ScrollView才会触发。

有人知道这是为什么吗?

pageLoaded中对scroll()的调用对Android没有影响。在iOS上它按预期工作。

有人知道这是为什么吗?

提前感谢您的时间!

我的屏幕布局如下:

import { EventData } from "data/observable";
import { Page } from "ui/page";
import { ScrollView } from "ui/scroll-view";
import observable = require("data/observable");
import scrollViewModule = require("ui/scroll-view")

let scroller1: ScrollView;
let scroller2: ScrollView;

export function pageLoaded(args: EventData) {
    let page = <Page>args.object;

    scroller1 = <ScrollView>page.getViewById("scroller1");
    scroller2 = <ScrollView>page.getViewById("scroller2");

    scroller1.on(ScrollView.scrollEvent, scrollingScroller1, this);
    scroller2.on(ScrollView.scrollEvent, scrollingScroller2, this);

    scroll();
}

export function buttonClicked(args: scrollViewModule.ScrollEventData) {
    scroll();
}

export function scrollingScroller1(args: scrollViewModule.ScrollEventData) {
    console.log('scrollingScroller1');
}
export function scrollingScroller2(args: scrollViewModule.ScrollEventData) {
    console.log('scrollingScroller2');
}

export function scroll() {
    scroller1.scrollToHorizontalOffset(300, false);
    scroller1.animate({
        opacity: 1,
        duration: 500
    });
}

代码隐藏如下:

class IsPrime
{       
    function check($num)
    {
        for ($i = 2; $i < $num; $i++)
        {
            if ($num % $i == 0) 
            {
                return 'NOT prime';

            }

        }
        return 'Prime';           
    }       
}

$x = new IsPrime();
$result = $x->check(4);
echo $result;

0 个答案:

没有答案