小编Ren*_*ues的帖子

DialogFragment - 在屏幕旋转后保留监听器

我有一个DialogFragment创建一个DatePickerDialog.我正在使用一个静态方法调用newInstance来设置初始值,以便使用默认的空构造函数.但是,我应该如何设置监听器?在屏幕旋转之后,当单击"完成"按钮时,监听器不会执行任何操作,因为它不存在.

public class DatePickerFragment extends DialogFragment {
    public static final String ARG_YEAR = "year";
    public static final String ARG_MONTH = "month";
    public static final String ARG_DAY = "day";

    private OnDateSetListener listener_;

    public static DatePickerFragment newInstance(OnDateSetListener listener, int year, int month, int day) {
        final DatePickerFragment date_picker = new DatePickerFragment();
        date_picker.setListener(listener);

        final Bundle arguments = new Bundle();
        arguments.putInt(ARG_YEAR, year);
        arguments.putInt(ARG_MONTH, month);
        arguments.putInt(ARG_DAY, day);
        date_picker.setArguments(arguments);

        return date_picker;
    }

    private void setListener(OnDateSetListener listener) {
        listener_ = listener;
    }

    @Override
    public Dialog …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle android-fragments

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

如何处理服务器和客户端之间的时区?

我正在开发一个网站,我必须处理来自用户的不同时区.这成为一个很大的问题,因为该网站举办拍卖等时间微妙的活动.

服务器上的所有日期/时间均为UTC.数据库以UTC时间戳存储所有内容.PHP默认时区也设置为UTC(date_default_timezone_set('UTC');).

现在,我的问题是我应该如何与用户互动,无论我是只显示日期,还是更重要的是,我正在从用户输入中读取日期/时间.

一个具体的例子:

  • 拍卖有截止日期,我将其作为UTC存储在数据库中.
  • 当我在网站上查看拍卖时,javascript计时器使用一个Date对象来计算剩余时间.它会自动将时区转换为GMT + 0100(我的本地时区).因此,如果截止日期是'2013-08-08 10:46:08'(UTC),则javascript日期对象将返回Aug 08 2013 11:26:15 GMT+0100 (GMT Standard Time).
  • 如果当前时间大于11:46:08,则计时器表示剩余时间为00:00(这是正确的).
  • 但是,如果我尝试插入出价,服务器会接受,因为MySQL INSERT评估条件为true:

    INSERT INTO Bids ... WHERE ...和auction_deadline> NOW()......

(因为auction_deadline = '2013-08-08 10:46:08'和NOW()= '2013-08-08 10:26:50')

所有这些巨大的时区都融化了我的大脑.我在这里错过了什么?我几乎可以肯定在数据库中以UTC格式存储所有日期/时间是最好的.我只是想不清楚如何在用户和数据库之间处理它.

javascript php mysql timezone client-side

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

初学者CUDA - 简单的var增量不起作用

我正在与CUDA合作开展一个项目.为了掌握它,我有以下代码.

#include <iostream>

using namespace std;

__global__ void inc(int *foo) {
  ++(*foo);
}

int main() {
  int count = 0, *cuda_count;
  cudaMalloc((void**)&cuda_count, sizeof(int));
  cudaMemcpy(cuda_count, &count, sizeof(int), cudaMemcpyHostToDevice);
  cout << "count: " << count << '\n';
  inc <<< 100, 25 >>> (&count);
  cudaMemcpy(&count, cuda_count, sizeof(int), cudaMemcpyDeviceToHost);
  cudaFree(cuda_count);
  cout << "count: " << count << '\n';
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是

count: 0
count: 0
Run Code Online (Sandbox Code Playgroud)

有什么问题?

提前致谢!

c++ cuda

6
推荐指数
2
解决办法
3155
查看次数

如何仅使用Google Analytics跟踪子域?

我想跟踪托管的网站的流量http://pages.foo.bar.com/~username/.

创建属性后,这是我得到的跟踪代码:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-46830709-2', 'bar.com');
  ga('send', 'pageview');
</script>
Run Code Online (Sandbox Code Playgroud)

但这不会跟踪所有流量bar.com吗?在后端,我只想显示来自该文件夹上托管的站点的流量~username/.

google-analytics

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