我正在扩展PreferenceActivity我的设置屏幕。在这个偏好活动中,我有几个偏好,其中一个是定制的。问题如下:
在此自定义首选项(从 扩展ListPreference)中,我希望能够设置默认值,因此我覆盖了该setDefaultValue()方法。在这种方法中,我进行了一些解析,因此它将采用正确的值。当我试图用getValue()函数读取这个值时,它只返回null.
所以我想,当我把一些硬编码的值放在那里时会发生什么(你知道,也许我做错了什么,这不是第一次)。嗯,我还是null回来了。
任何想法我做错了什么?
编辑:
在 xml 文件中设置 defaultValue 并不是一个真正的选项,因为在我检索它们之前这些值是未知的。
我做了一个解决方法:
这样我在收集数据时设置了默认首选项
android preference preferenceactivity android-preferences listpreference
我有一个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()返回的非常大的数字.问题是什么?
我想将 EditText 字段限制为 150 个字符,这很容易做到。但是,当用户尝试超过该限制时,我还需要通过键入(即第 151 个字符)或粘贴超过 150 个字符来提醒用户。
解决这个问题的最佳方法是什么?
我正在使用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却没有.这是怎么回事?
如果我有一个实现的类,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方法(通过设置mode为STOPPED),但它也有其他用途.
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) 我想做类似以下的事情:
bool b = ...
string s = "Value of bool is: " + b ? "f" : "d";
Run Code Online (Sandbox Code Playgroud)
我见过的所有例子都使用cout,但我不想打印字符串; 只是存储它.
我该怎么做?如果可能的话,我想要一个分配给a char *和one 分配给a的例子std::string.
使用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)
你如何定义一个布尔数组?
考虑以下代码(尽管有点人为,但它是对现实世界程序的一个重大简化):
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) 我编写了以下程序,每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不在范围内.如何解决这个问题?
基本上,我有一个小程序,我想在一个对象列表上执行一系列排序.每种排序都应该在对象的不同属性上运行,并遵循前一种排序产生的排序.这是我到目前为止所拥有的:
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) android ×3
.net ×2
boolean ×2
c# ×2
coffeescript ×2
java ×2
javascript ×2
linq ×2
android-xml ×1
arrays ×1
byte ×1
c++ ×1
char ×1
concurrency ×1
erb ×1
ienumerable ×1
integer ×1
lambda ×1
node.js ×1
preference ×1
promise ×1
python ×1
q ×1
runnable ×1
sockets ×1
sorting ×1
string ×1
typed-arrays ×1