Android 4.0-Launcher-FolderEdit-onKeyPreIme
1789 ワード
今週からAndroid 4.0のコードを見始めました.久しぶりにsource codeを見たのか、09年と10年に見た1.5バージョンなのか、今は4.0が出てきて、これは再切り込みバージョンだと思っています.結局、彼はTabletとsmart phonesの統一バージョンです.私が勉強した最初のappはLauncherで、1.5のバージョンではソースコードが一番多いと思っていましたが、4.0ではGalleryでした.次に、Launcherの学習過程で新しいAPIと心得を身につけたことを記録します.
LauncherではFolderという機能が提供されています.Folderは名前を付けることもできます.名前の入力ボックスはEditTextです.ここではEditTextがリロードされています.リロードクラスは:FolderEditTextです.
ソースコードを見てみましょう.
このclassでOverrideというonKeyPreImeというfunctionは、back key eventをキャプチャして処理するため、つまりIME入力法よりも早くこのEventを処理するためである.後でEditTextでBack key eventを処理すると、この関数を再ロードできます.再ロードしないと、システムはback key eventをIMEに送信します.
LauncherではFolderという機能が提供されています.Folderは名前を付けることもできます.名前の入力ボックスはEditTextです.ここではEditTextがリロードされています.リロードクラスは:FolderEditTextです.
ソースコードを見てみましょう.
package com.android.launcher2;
import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.EditText;
public class FolderEditText extends EditText {
private Folder mFolder;
public FolderEditText(Context context) {
super(context);
}
public FolderEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FolderEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void setFolder(Folder folder) {
mFolder = folder;
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
// Catch the back button on the soft keyboard so that we can just close the activity
if (event.getKeyCode() == android.view.KeyEvent.KEYCODE_BACK) {
mFolder.doneEditingFolderName(true);
}
return super.onKeyPreIme(keyCode, event);
}
}
このclassでOverrideというonKeyPreImeというfunctionは、back key eventをキャプチャして処理するため、つまりIME入力法よりも早くこのEventを処理するためである.後でEditTextでBack key eventを処理すると、この関数を再ロードできます.再ロードしないと、システムはback key eventをIMEに送信します.