小编Joe*_*ade的帖子

使用UITapGestureRecognizer传递参数

有什么办法可以用UITapGestureRecognizer传递参数吗?我已经看到这回答了Objective-c但是找不到快速的答案

test.userInteractionEnabled = true
let tapRecognizer = UITapGestureRecognizer(target: self, action: Selector("imageTapped4:"))
// Something like text.myParamater
test.addGestureRecognizer(tapRecognizer)
Run Code Online (Sandbox Code Playgroud)

然后在func imageTapped4(){}下接收myParameter

iphone xcode ios xcode7 swift2

14
推荐指数
2
解决办法
9929
查看次数

在CloseActivity 上停止片段计时器

我有一个片段,其中计时器在初始化时立即开始运行,并且每 6 秒显示一个不同的图像。

我还没有完全弄清楚这个计时器是如何工作的,但不知何故我让它运行起来,并且我知道计时器在不同的线程中运行......甚至不确定这到底意味着什么:)

但是当我加载不同的片段时,计时器会导致崩溃。所以我想我必须在活动关闭时取消计时器?

这让我想到两个问题。1) 我可以从任何地方运行 myTimer.cancel 吗?如果是,我如何从我的主要活动或其他片段运行它。

2)有没有像 onCloseActivity 这样的东西我可以用于这个片段。这样我一离开片段就可以取消计时器吗?

这就是我启动计时器的方式:

// 计时器 计时器 myTimer;

/////////////////////
/////// timer ///////
/////////////////////
private void runTimer() {

    myTimer = new Timer();
    myTimer.schedule(new TimerTask() {
        @Override
        public void run() {
            TimerMethod();
        }

    }, 5000, 5000);
}

private Runnable Timer_Tick = new Runnable() {
    public void run() {

        // next image if THIS one is loaded
        nextImage();
    }
};

private void TimerMethod() {
    getActivity().runOnUiThread(Timer_Tick);
}
Run Code Online (Sandbox Code Playgroud)

这是我的错误: getActivity().runOnUiThread(Timer_Tick); 当我加载不同的片段时导致错误。

E/AndroidRuntime:致命异常:Timer-1 进程:com.murmurcalgary.murmurcalgaryevolvd,PID:8668 java.lang.NullPointerException:尝试调用虚拟方法 'void android.support.v4.app.FragmentActivity.runOnUiThread(java.lang. …

java android timer android-fragments android-studio

2
推荐指数
1
解决办法
2311
查看次数

获得每月第1个工作日 - Android Studio

我试图获得任何一个月1日的工作日.我试过这个,但它没有给我正确的号码

mycal = new GregorianCalendar(2016, 10, 1);
Integer firstDayOfMonth = mycal.get(Calendar.DAY_OF_WEEK);
Run Code Online (Sandbox Code Playgroud)

2016-10-01是一个星期六,安卓工作室回答了3.

2017年4月1日也是星期六,但我得到2.不知道我在这里做错了什么.

java android

1
推荐指数
1
解决办法
72
查看次数