我有一个应用程序,可以很好地处理基于导航栏交互切换的多个片段.其中一个屏幕有多个文本字段,我决定订购这些字段,因此键盘"next"会自动将用户带到下一个可填写的文本字段nextFocusDown.最后一个导致导致RadioGroup显示"完成"按钮.
该领域是这样的(他们是内LinearLayout是内NestedScrollView内的另一个LinearLayout即根目录下FrameLayout):
<EditText
android:id="@+id/firstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName|textCapWords"
android:nextFocusDown="@id/lastName"
android:text="" />
<EditText
android:id="@+id/lastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName|textCapWords"
android:nextFocusDown="@id/email"
android:text="" />
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textEmailAddress"
android:nextFocusDown="@id/localId"
android:text="" />
Run Code Online (Sandbox Code Playgroud)
还有更多字段,其中一些包括文本提示等.
如果我运行应用程序,选择一个字段,然后点击"下一步"按钮,直到键盘自行消失 - 一切正常.当我选择一个字段时出现问题,键盘出现,然后我点击了导致键盘消失的安卓向下按钮.执行此操作后,此屏幕中的所有内容看起来都很好,一切正常,直到我切换片段,然后应用程序崩溃,我在日志中看到这些错误:
04-10 00:12:24.763 redacted E/AndroidRuntime: FATAL EXCEPTION: main
Process: redacted, PID: 24660
java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.inputmethod.InputConnection.closeConnection()' on a null object reference
at android.view.inputmethod.InputConnectionWrapper.closeConnection(InputConnectionWrapper.java:270)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:541)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:85)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 UIImage 保存到相机胶卷。苹果提出的UIImageWriteToSavedPhotosAlbum过时,所以我使用的(同为避免ALAssets),该部队使用PhotoLibrary。
这是我正在使用的代码:
定义:
var rollCollection : PHAssetCollection!;
Run Code Online (Sandbox Code Playgroud)
初始化:
let result = PHAssetCollection.fetchAssetCollectionsWithType(.SmartAlbum, subtype: .SmartAlbumUserLibrary, options: nil);
rollCollection = result.firstObject as? PHAssetCollection;
Run Code Online (Sandbox Code Playgroud)
保存图片的代码:
if (rollCollection != nil){
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(
self.originalImg!);
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.rollCollection!);
let assetPlaceHolder = assetRequest.placeholderForCreatedAsset;
albumChangeRequest!.addAssets([assetPlaceHolder!])
}, completionHandler: { success, error in
dispatch_async(dispatch_get_main_queue(), {
print ("\(error!)");
if (!success){
self.presentViewController(self.alertCantSave!, animated: false, completion: nil);
}
else {
self.presentViewController(self.alertSaved!, animated: false, completion: nil);
}
});
})
}
else …Run Code Online (Sandbox Code Playgroud) 我正在运行以下代码:
#include <emmintrin.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argv, char** argc)
{
float a[] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
float b[] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
float c[] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
__m128 *v_a = (__m128*)(a+1); // Trying to create c[i] = a[i=1] * b[i];
__m128 *v_b = (__m128*)(b);
__m128 *v_c = (__m128*)(c);
for (int i=0; i < 1; i++) …Run Code Online (Sandbox Code Playgroud)