我已经使用AccountAuthenticator创建了一个帐户类型,如SampleSyncAdapter教程中所做的那样.我现在正试图让帐户首选项工作.
我已将行添加android:accountPreferences="@xml/account_preferences"到my account-authenticator和account_preferences.xml中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/alum_settings_title"/>
<CheckBoxPreference
android:key="sync_alum"
android:title="@string/sync_alum"
android:summaryOn="@string/sync_alum_check"
android:summaryOff="@string/sync_alum_nocheck"/>
<ListPreference
android:key="sync_alum_since"
android:title="@string/alum_years"
android:entries="@array/years"
android:entryValues="@array/years"
android:dependency="sync_alum"/>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
复选框首选项的工作方式与它应该完全相同,但ListPreference会使用以下消息使整个系统崩溃:
05-14 22:32:16.794: ERROR/AndroidRuntime(63): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
Run Code Online (Sandbox Code Playgroud)
我使用EditTextPreference和我创建的DialogPreference的自定义子类得到了相同的错误.
我有一个默认设置的数组,以及一个具有用户指定设置的数组.我想合并这两个数组,以便用用户指定的数组覆盖默认设置.
我试图使用array_merge,它可以像我想的那样进行覆盖,但如果用户指定了默认设置中不存在的设置,它还会添加新设置.我可以使用更好的功能array_merge吗?或者是否有一个函数可用于过滤用户指定的数组,以便它只包含默认设置数组中也存在的键?
我想要的例子
$default = array('a' => 1, 'b' => 2);
$user = array('b' => 3, 'c' => 4);
// Somehow merge $user into $default so we end up with this:
Array
(
[a] => 1
[b] => 3
)
Run Code Online (Sandbox Code Playgroud) 我已经创建了自己的DefaultHandler来解析rss提要,并且对于大多数提要它工作正常,但是,对于ESPN,由于ESPN格式化网址的方式,它正在切断部分文章网址.来自ESPN的完整文章网址的一个例子..
http://sports.espn.go.com/nba/news/story?id=5189101&campaign=rss&source=ESPNHeadlines
Run Code Online (Sandbox Code Playgroud)
问题是由于某种原因,DefaultHandler字符方法只从包含上述url的标记中获取.
http://sports.espn.go.com/nba/news/story?id=5189101
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它正在从&符号转义码和之后的网址中删除所有内容.如何让SAX解析器不在此转义码中删除我的字符串?对于参考 这是我的角色方法..
public void characters(char ch[], int start, int length) {
String chars = (new String(ch).substring(start, start + length));
try {
// If not in item, then title/link refers to feed
if (!inItem) {
if (inTitle)
currentFeed.title = chars;
} else {
if (inLink)
currentArticle.url = new URL(chars);
if (inTitle)
currentArticle.title = chars;
if (inDescription)
currentArticle.description = chars;
if (inPubDate)
currentArticle.pubDate = chars;
if (inEnclosure) {
}
}
} catch (MalformedURLException e) {
Log.e("RSSReader", e.toString());
} …Run Code Online (Sandbox Code Playgroud) 我目前在sqlite数据库中持久存在文件名以用于我自己的目的.每当我尝试插入具有特殊字符的文件(如é等)时,它会抛出以下错误:
pysqlite2.dbapi2.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
Run Code Online (Sandbox Code Playgroud)
当我通过使用unicode方法将发送到pysqlite的值包装为"将我的应用程序切换到Unicode字符串"时unicode(filename),它会抛出此错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 66: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我有什么办法可以摆脱这个吗?修改我的所有文件以符合不是一个选项.
更新
如果我通过解码文本filename.decode("utf-8"),我仍然得到上面的ProgrammingError.
我的实际代码如下所示:
cursor.execute("select * from musiclibrary where absolutepath = ?;",
[filename.decode("utf-8")])
Run Code Online (Sandbox Code Playgroud)
我的代码应该是什么样的?
作为这个问题的补充,这里发生了什么:
#include <string>
using namespace std;
struct A {
string s;
};
int main() {
A a = {0};
}
Run Code Online (Sandbox Code Playgroud)
显然,你不能将std :: string设置为零.有人可以提供一个解释(请参考C++标准,请参考)这里应该发生什么?然后解释一下):
int main() {
A a = {42};
}
Run Code Online (Sandbox Code Playgroud)
这些都是明确界定的吗?
对我来说又一个令人尴尬的问题 - 我总是给我的结构构造者,所以这个问题从未出现过.
我有一组通过Microsoft的Deep Zoom编辑器创建的平铺图像集合,以及一个Silverlight应用程序,它目前通过MultiScaleImage使用它们进行显示 - 它们都运行得很好 - 我只想获得一些iPad编程经验并且有一对一些iPad应用程序的想法.我的所有想法都依赖于我能够显示/操作这些平铺图像集(在iPad上).
我刚刚拿起一台iMac来促进这一点.虽然我没有看到任何Objective-C/Cocoa-touch库,所以假设我必须自己动手.(我看到了Seadragon Ajax组件,它非常漂亮,但是我在这里处理集合,它不支持.我还想将其作为本机应用程序来推广以获得体验.)
我发现用于显示/操作平铺图像集的唯一开源项目是Openzoom - 一个Flash组件.我不熟悉ActionScript是(Python和Java和C#和C是我真的使用的唯一语言),但简单地检查代码,我真的没有任何问题与它也许可以用它来提示关于如何交换瓷砖进出等等.但是,由于我是Objective-C/Cocoa-touch的新手,所以我们会欣赏正确方向的一些指示.
1)我还缺少其他任何项目,或者OpenZoom是我最好的选择吗?
2)我应该尝试在UIKit框架中进行此显示,还是应该将其作为OpenGL显示器进行?
3)我没想到的任何其他建议/指示.
我正在尝试使用Capybara和CSS选择器定义测试图像替代文本值的步骤.
我根据自述文件示例为输入值写了一个:
Then /^I should see a value of "([^\"]*)" within the "([^\"]*)" input$/ do |input_value, input_id|
element_value = locate("input##{input_id}").value
element_value.should == input_value
end
Run Code Online (Sandbox Code Playgroud)
但是我无法想出这一个...类似于:
Then /^I should see the alttext "([^\"]*)"$/ do | alt_text |
element_value = locate("img[alt]").value
end
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何找到alt文本值?
在Qt Designer中添加QComboBox控件时,我得到了一个非常糟糕的非本机控件:
在进一步挖掘时,事实证明,两个父控件QParentWindow和QStackedWidget具有QComboBox继承的样式表.如果我删除自定义样式,那么我会得到一个原生的QComboBox,如左边那个.
我怎样才能让QComboBox(和小部件一般)不继承父样式?或者,我怎样才能为QParentWindow创建一个样式,并且这样做只是为了本地而不是级联?
我刚刚开始使用twisted.web,我在将Python模块导入.rpy脚本时遇到了麻烦.
在C:\py\twisted\mysite.py,我有这个:
from twisted.web.resource import Resource
from twisted.web import server
class MySite(Resource):
def render_GET(self, request):
request.write("<!DOCTYPE html>")
request.write("<html><head>")
request.write("<title>Twisted Driven Site</title>")
request.write("</head><body>")
request.write("<h1>Twisted Driven Website</h1>")
request.write("<p>Prepath: <pre>{0}</pre></p>".format(request.prepath))
request.write("</body></html>")
request.finish()
return server.NOT_DONE_YET
Run Code Online (Sandbox Code Playgroud)
在C:\py\twisted\index.rpy,我有这个:
import mysite
reload(mysite)
resource = mysite.MySite()
Run Code Online (Sandbox Code Playgroud)
我twistd -n web --port 8888 --path C:\py\twisted在命令提示符下运行,服务器启动成功.但是当我请求时,localhost:8888我得到了一个源自ImportError的(巨大的)堆栈跟踪:
<type 'exceptions.ImportError'>: No module named mysite
我可以从解释器导入模块,如果我只是index.rpy作为python脚本执行,我不会得到导入错误.关于这个主题的文档有点模糊,它只是说"但是,在Python模块中定义Resource子类通常是一个更好的主意.为了使模块中的更改可见,您必须重新启动Python进程,或重新加载模块:"(从这里开始).
有谁知道这样做的正确方法?
我能够在早期版本的nDepend中执行此操作,方法是转到tools-> options并设置哪些程序集将成为分析的一部分(并忽略其余部分).nDepend试用版的最新版本允许我设置它,但它似乎忽略了设置并始终分析所有程序集是否我想要它.我试图删除"层"程序集,将它们移到"应用程序集"列表中,但当我将它们删除时,它们只会被添加回"层"列表,我不能忽略它.
我不希望我的依赖图包含像"system","system.xml"和"system.serialization!"这样的程序集.我只想在依赖图中使用MY程序集!或者这是付费版功能吗?
有没有办法做我正在谈论的事情?