小编Xåp*_* -的帖子

在自定义 Preference 类上调用 setDefaultValue() 不会设置默认值。为什么?

我正在扩展PreferenceActivity我的设置屏幕。在这个偏好活动中,我有几个偏好,其中一个是定制的。问题如下:

在此自定义首选项(从 扩展ListPreference)中,我希望能够设置默认值,因此我覆盖了该setDefaultValue()方法。在这种方法中,我进行了一些解析,因此它将采用正确的值。当我试图用getValue()函数读取这个值时,它只返回null.

所以我想,当我把一些硬编码的值放在那里时会发生什么(你知道,也许我做错了什么,这不是第一次)。嗯,我还是null回来了。

任何想法我做错了什么?

编辑:
在 xml 文件中设置 defaultValue 并不是一个真正的选项,因为在我检索它们之前这些值是未知的。

我做了一个解决方法:

  • 应用程序第一次启动时:获取数据
  • 在首选项中设置值。

这样我在收集数据时设置了默认首选项

android preference preferenceactivity android-preferences listpreference

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

如何使用python将套接字上的整数发送到Java应用程序?

我有一个Python客户端发送数据(前面有数据长度消息):

s = socket.socket()
s.connect((host, port))
data = 'hello world'
s.sendall('%16s' % len(data)) #send data length
s.sendall(data) #send data
s.close()
Run Code Online (Sandbox Code Playgroud)

和Java中的服务器接收数据.服务器使用DataInputStream.readInt()在读取数据之前读取数据长度.但是我似乎得到了readInt()返回的非常大的数字.问题是什么?

python java sockets byte integer

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

超出 EditText 限制时提醒用户

我想将 EditText 字段限制为 150 个字符,这很容易做到。但是,当用户尝试超过该限制时,我还需要通过键入(即第 151 个字符)或粘贴超过 150 个字符来提醒用户。

解决这个问题的最佳方法是什么?

android android-edittext android-alertdialog

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

错误的coffeescript(Rails 3.2.13)?

我正在使用Rails 3.2.13.

看完这里的一些帖子后,看起来为了在CoffeeScript中使用erb,你的文件只需要有一个.js.coffee扩展名,而不是.js.coffee.erb(奇怪).

但是,我似乎仍无法让它发挥作用.例如,我在demo.js.coffee文件中有以下内容:

console.log '<%= root_url %>'
Run Code Online (Sandbox Code Playgroud)

经过所有处理后,似乎产生:

(function() {
  console.log('<%= root_url %>');

  $(function() {});

}).call(this);
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,CoffeeScript已经过处理,但erb却没有.这是怎么回事?

javascript ruby-on-rails erb coffeescript ruby-on-rails-3

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

Runnable的实现是否允许在同一个实例上并发调用run()?

如果我有一个实现的类,java.lang.Runnable技术上没有什么能阻止多个线程run同一个实例上同时调用Runnable.例:

Runnable r = new MyRunnable();

//start thread 1
new Thread(r).start();

//start thread 2
new Thread(r).start();
Run Code Online (Sandbox Code Playgroud)

如果该run方法完全是"自包含的"(即不依赖于任何私有实例成员),这不是一个真正的问题,因为线程之间没有共享变量,因此您Runnable永远不会得到"损坏的"内部状态.但我认为,在大多数情况下,你Runnable 拥有它操纵在一些私人实例成员run,那么怎么办呢?

要使用示例,我的MyRunnable类有一个私有mode字段.主要目的是干净地停止run方法(通过设置modeSTOPPED),但它也有其他用途.

public static class MyRunnable implements Runnable
{
    enum Mode { RUNNING, PAUSED, STOPPED, FASTFORWARDING, REWINDING; }

    private volatile Mode mode;

    @Override
    public void run() 
    {
        mode = Mode.RUNNING;
        while (mode != Mode.STOPPED)
        { …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading software-design runnable

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

在C++中连接字符串和布尔值?

我想做类似以下的事情:

bool b = ...
string s = "Value of bool is: " + b ? "f" : "d";
Run Code Online (Sandbox Code Playgroud)

我见过的所有例子都使用cout,但我不想打印字符串; 只是存储它.

我该怎么做?如果可能的话,我想要一个分配给a char *和one 分配给a的例子std::string.

c++ string boolean concatenation char

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

如何在XML中将布尔数组定义为资源?

使用Android的资源系统,您可以像这样定义一个字符串数组:

<string-array name="my_string_array">
    <item>One</item>
    <item>Two</item>
    <item>Three</item>
    <item>Four</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

和这样的整数数组:

<integer-array name="my_integer_array">
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
</integer-array>
Run Code Online (Sandbox Code Playgroud)

你如何定义一个布尔数组?

arrays android boolean android-xml typed-arrays

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

如何使用for循环迭代链接IEnumerable.Where()?

考虑以下代码(尽管有点人为,但它是对现实世界程序的一个重大简化):

string[] strings = { "ab", "abcd", "abc", "ac", "b", "abcde", "c", "bc" };
string[] filters = { "a", "b", "c" };

// iteratively apply each filter
IEnumerable<string> filteredStrings = strings.ToArray();
foreach (string filter in filters)
{
    // in my real-world program lots of processing and stuff
    // happens here, hence why i need the enclosing foreach loop

    filteredStrings = filteredStrings.Where(s => s.Contains(filter));
}
Run Code Online (Sandbox Code Playgroud)

如您所见,代码迭代地将字符串数组过滤到较小的字符串集.当for-each循环结束时,filteredStrings应该是通过所有过滤器的字符串子集.在这个例子中,那将是:

{ "abcd", "abc", "abcde" }
Run Code Online (Sandbox Code Playgroud)

但是,我得到的输出是:

{ "abcd", "abc", "ac", "abcde", "c", "bc" …
Run Code Online (Sandbox Code Playgroud)

.net c# linq ienumerable lambda

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

范围内的变化承诺"然后"方法

我编写了以下程序,每N毫秒处理一个目录中的所有文件:

fs = require "fs"
Q = require "q"

class FileProcessor
  constructor: (options) ->
    @dir = options.dir
    @delay = options.delay

  processFiles: ->
    Q.nfcall fs.readdir, @dir
    .then (files) -> Q.all files.map (file) -> @processFile file # <-- Error!
    .then -> Q.delay @delay
    .then -> @processFiles()
    .done()

  processFile: (file) ->
    deferred = Q.defer()

    # Does some stuff.

    return deferred.promise

fp = new FileProcessor(dir: "photos", delay: 1000)
fp.processFiles()
Run Code Online (Sandbox Code Playgroud)

在第11行,我收到此错误:

TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)

似乎@processFile不在范围内.如何解决这个问题?

javascript node.js promise coffeescript q

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

如何使用IEnumerable链接分拣机,每个分拣机都遵循前一个分拣机的顺序?

基本上,我有一个小程序,我想在一个对象列表上执行一系列排序.每种排序都应该在对象的不同属性上运行,并遵循前一种排序产生的排序.这是我到目前为止所拥有的:

class Program
{
    static void Main(string[] args)
    {
        List<Person> people = new List<Person>();
        people.Add(new Person { Name = "John",   Age = 43 });
        people.Add(new Person { Name = "Ringo",  Age = 73 });
        people.Add(new Person { Name = "John",   Age = 32 });
        people.Add(new Person { Name = "Paul",   Age = 38 });
        people.Add(new Person { Name = "George", Age = 16 });
        people.Add(new Person { Name = "John",   Age = 80 });
        people.Add(new Person { Name = "Ringo", …
Run Code Online (Sandbox Code Playgroud)

.net c# linq sorting

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