我有一个Android应用程序,我有一个活动和一堆片段.
使用Crashlytics,我收到了以下一个实例Exception:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.FragmentManager.popBackStack(java.lang.String, int)' on a null object reference
at com.company.app.Fragment$7$2.onClick(Fragment.java:397)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20926)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Run Code Online (Sandbox Code Playgroud)
产生此错误的代码是:
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
// The next line produces the Exception
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Other code...
}, 250);
}
});
Run Code Online (Sandbox Code Playgroud)
根据我对这个应用程序所做的测试,发生此异常的用户,以及只发生过一次的事实,我认为这Exception …
我已经开始将HackerRank上的一些编程问题作为一种"高效的分心".
我正在研究SQL部分的前几个并遇到了这个问题(链接):
Query the two cities in STATION with the shortest and
longest CITY names, as well as their respective lengths
(i.e.: number of characters in the name). If there is
more than one smallest or largest city, choose the one
that comes first when ordered alphabetically.
Input Format
The STATION table is described as follows:
Run Code Online (Sandbox Code Playgroud)
where LAT_N is the northern latitude and LONG_W is
the western longitude.
Sample Input
Let's say that CITY only has four entries: …Run Code Online (Sandbox Code Playgroud) 我最近开始使用Xcode 7,并得到了似乎是一个常见的警告:
Null passed to a callee that requires a non-null argument
Run Code Online (Sandbox Code Playgroud)
我理解它告诉我的是什么,但我不确定针对我的特定问题的正确解决方案是什么.这是发生警告的行:
NSTextTab *tab = [[NSTextTab alloc]
initWithTextAlignment:NSTextAlignmentLeft
location:10.0f
options:nil];
Run Code Online (Sandbox Code Playgroud)
现在,在他的"编程iOS 8"一书(在GitHub上发布)中查看Matt Neuberg的例子,我看到以下内容:
let s = "Onions\t$2.34\nPeppers\t$15.2\n"
let mas = NSMutableAttributedString(string:s, attributes:[
// lines omitted...
let terms = NSTextTab.columnTerminatorsForLocale(NSLocale.currentLocale())
let tab = NSTextTab(textAlignment:.Right, location:170, options:[NSTabColumnTerminatorsAttributeName:terms])
// lines omitted
self.tv.attributedText = mas
Run Code Online (Sandbox Code Playgroud)
据我所知,这是设置文本,以便字符串中的小数点是对齐的.大.有用.不是我需要的.我只是试图让左侧的标签给出一个特定且一致的缩进.
为了"修复"我的代码(即,让警告消失),我已将代码更改为:
NSTextTab *tab = [[NSTextTab alloc] initWithTextAlignment:NSTextAlignmentLeft location:10.0f options:[NSDictionary dictionary]];
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但感觉就像一个超级笨拙的解决方案.我的理解是NSTextTab错误的吗?解决这个问题的正确方法是什么?
我有一个UIView已创建的自定义,它具有多个自定义UIControl实例,这些实例是非矩形按钮(而不是使用UIButton实例)。之所以这样做,是因为我需要能够绘制非矩形按钮,并使它们仅在非矩形区域对水龙头做出反应。
因为UIControl不附带UILabel,所以我使用CATextLayer来添加此功能。我希望我正在绘制的文本(通过将设置为layer.string等于NSAttributedString)应用阴影,但是它似乎CATextLayer忽略了任何NSShadow属性。
我找不到任何文档可以告诉我任何一种方法,但是实际上,以下操作不起作用:
NSMutableParagraphStyle *s = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
s.lineSpacing = 0.9f;
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor orangeColor];
shadow.shadowOffset = CGSizeMake(10,10);
NSDictionary *textAttrs = @{NSFontAttributeName : [UIFont someFont],
NSParagraphStyleAttributeName : [s copy],
NSShadowAttributeName : shadow};
Run Code Online (Sandbox Code Playgroud)
也就是说CATextLayer,除了,显示的内容与您预期的一样NSShadow。因此,以上代码与该代码完全相同(据我所知):
NSMutableParagraphStyle *s = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
s.lineSpacing = 0.9f;
NSDictionary *textAttrs = @{NSFontAttributeName : [UIFont someFont], …Run Code Online (Sandbox Code Playgroud) 我正在使用WebStorm 2017.2.2来开发和运行一些mocha测试.
一切都很顺利,但测试从未完成.它完成了运行我所有的测试文件,然后坐在那里旋转说"运行测试".
如果我将鼠标悬停在红色框,它显示了一个提示,说:Stop 'Full Tests' (⌘F2).它还在IDE的底部显示"停止进程".所以,我点击它,红色框变成了头骨.
现在,如果我将鼠标悬停在头骨上,它会显示一个工具提示:( Stop 'Full Tests' (⌘F2)与之前相同).它还在IDE的底部显示"Kill Process"(不同).所以,我点击它,IDE停止说"运行测试",现在说"测试结果".
如何配置WebStorm,以便在到达测试套件末尾时自动将这些松散的端部捆绑在一起?
根据一家安全公司的建议,我们通过实施证书锁定来加强我们的 iOS 移动应用程序以抵御中间人攻击。
本周,我的应用程序开始失败,error: -999失败,应用程序报告 HTTP 调用已取消。随后的调查似乎表明问题在于 Microsoft 更新了*.azurewebsites.net.
这是我在应用程序中固定的旧证书的一部分:
Subject Name
Common Name: *.azurewebsites.net
Issuer Name
Country: US
State/Province: Washington
Locality: Redmond
Organization: Microsoft Corporation
Organizational Unit: Microsoft IT
--> Common Name: Microsoft IT SSL SHA2
Run Code Online (Sandbox Code Playgroud)
这是我今晚提取的新证书的相同部分:
Subject Name
Common Name: *.azurewebsites.net
Issuer Name
Country: US
State/Province: Washington
Locality: Redmond
Organization: Microsoft Corporation
Organizational Unit: Microsoft IT
--> Common Name: Microsoft IT TLS CA 4
Run Code Online (Sandbox Code Playgroud)
该Not Valid Before和Not Valid After日期也不同(新证书的运行从2017年12月17日通2019年12月17日)。
幸运的是,我们还没有向客户实时推出应用程序(但我们已经接近了,所以这很可怕)。显然,这种服务一旦有了客户就关闭是完全不能接受的。 …
我搜索了这个,搜索了这个,查看了SO和其他网站(我一直试图在这个问题上阅读几个小时),但我似乎仍然无法找到一个令人满意的解决方案,看似简单,常见的编程问题.
让我设置场景:
到目前为止我尝试过的每个解决方案都有一些基本问题:
我想不出来!我真的是一个桌面开发人员,这在Windows中很容易!为什么网络这么难?
我是愚蠢的,这真的是一个简单的练习,还是这个基本任务真的很难?
请指点我正确的方向!
谢谢!!!
我正在编写一个管理用户文档的应用程序,并(最终)发布通过iPhone/iPad上的Web服务提供的PDF文件.这几乎是完全扫描的PDF文件,它们似乎真的让iOS设备陷入困境.
我想出的第一个解决方案是在UIWebView中简单地托管PDF.这对于"生成的"PDF文件非常有效,但不适用于扫描的PDF文件(我猜这里的区别是光栅与矢量?).
我的下一个解决方案是实现一个UIDocumentInteractionController,据说这会增加快速性.我可以报告它确实比UIWebView更快,但它仍然慢得令人无法接受,即使在2页的小PDF文件中也是如此.(另一方面,"自动打开另一个应用程序"功能,以及内置打印是超级光滑!)
我已经阅读了关于QuickLook框架的帖子或2,我打算调查一下,但我也偶然发现了一些关于CGPDFDocument类等的帖子.那些似乎对文档导航有更好的控制(la xPdf),但我不知道从哪里开始.另外,我甚至不确定它是否为我正在做的事情提供了性能优势.
那么,第一个问题:在iPhone/iPad上渲染扫描PDF文件的最快方法是什么?
第二个问题:扫描的PDF文件是由我公司生成的,因此我可以控制PDF生成设置.有谁知道哪些设置可以提高基于图像的PDF文件的加载速度?
谢谢!
(顺便说一下:我今天已连续19个小时编码,所以如果我漫无目的或没有意义,请原谅我!:))
背景
我正在帮助第三方托管他们付给我写的3个应用程序(他们让我访问他们的Apple凭据 - 专门为这个应用程序创建 - 以便管理iTunesConnect进程).
因此,我可以通过iTunesConnect访问所有销售数据等.我们目前已经发布了所有3个应用程序,其中两个是首次发布,其中一个已经在商店上销售了几个月并且更新了几次.第一个应用程序最初以1.99美元的价格作为入门价格发布,大约一个月后上涨到3.99美元.
实际问题
我刚收到AppFigures.com的日常报告(强烈推荐,顺便提一下;这是获取大量关于应用程序销售的自动化数据和分析的相对便宜的方法),我注意到app#1有3个退款昨天.我们只有7次退款,所有3次退款最初都是以1.99美元的价格购买的.因此,这让我非常好奇为什么他们现在得到退款.我们之前有过bug,后来又通过更新解决了,所以我不明白为什么有人会有正当理由要求并在此时收到退款.
请注意:我完全清楚我永远不会将信息直接绑定给用户.我理解为什么,但这有点遗憾(这就是为什么我们在应用程序本身中包含了一个自愿的联系/反馈机制).我只是想知道我是否可以从Apple那里看到他们选择申请退款的原因.
基本上,我想回答以下问题:
"为什么Apple认为退还这个用户的钱是合理的?"
我猜这对我们来说是一个有用的信息; 如果应用程序出现问题并且我们不知道,这可以帮助我们修复它.有谁知道这些信息是如何可用的?
我正在为"仪表板"网页创建一个状态表.每个状态都处于"开"或"关"状态.
我正在尝试使用jQuery button/buttonset来切换/切换控件以允许用户切换状态的值.我作为ajax数据库查询的结果动态创建表和按钮.
当用户点击其中一个按钮时,我基本上试图触发ajax查询,但我很难正确分配点击事件.
无论点击什么按钮,我的第一个轮次都有最终列表值.
所以,啊哈!这是一个标准的"JavaScript闭包"问题.(所以我认为...)
进一步玩弄它没有产生任何结果,我也不太了解关闭问题,以便弄清楚为什么我的技术是错误的.
这是我要调用的代码:
function SetStatus(item, status) {
var params = '{itemName: "' + item + '", status: "' + status + '"}';
$.ajax({
type: "POST",
url: "WebServices/Dashboard.asmx/SetItemStatus",
data: params,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: StatusSet,
error: ShowError
});
}
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试的当前代码版本:
$(itemOnButton).click(
function (_item) {
SetStatus(_item, 'On');
} (itemName)
);
Run Code Online (Sandbox Code Playgroud)
结果是,一旦从数据库获得结果(在它们甚至显示之前),立即SetStatus触发最后一项status=='开'.
我知道这很简单,我仍然相信这是一个基本的封闭问题,但我正在撞墙!谢谢你的帮助!