編輯:關於Android編程
當我們彈出一個Dialog時候,如果這個Dialog需要輸入數據,然後確定後又需要關閉輸入法,一般系統的hide,跟show方法總會有各種問題,最霸道的解決方法就是寫一個定時器,定時彈出或者關閉輸入法。
import java.util.Timer;
import java.util.TimerTask;
import android.content.Context;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
public class InputTools {
//隱藏虛擬鍵盤
public static void HideKeyboard(View v)
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) ) {
imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
}
}
//顯示虛擬鍵盤
public static void ShowKeyboard(View v)
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
imm.showSoftInput(v,InputMethodManager.SHOW_FORCED);
}
//強制顯示或者關閉系統鍵盤
public static void KeyBoard(final EditText txtSearchKey,final String status)
{
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run()
{
InputMethodManager m = (InputMethodManager)
txtSearchKey.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if(status.equals("open"))
{
m.showSoftInput(txtSearchKey,InputMethodManager.SHOW_FORCED);
}
else
{
m.hideSoftInputFromWindow(txtSearchKey.getWindowToken(), 0);
}
}
}, 300);
}
//通過定時器強制隱藏虛擬鍵盤
public static void TimerHideKeyboard(final View v)
{
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run()
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) )
{
imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
}
}
}, 10);
}
//輸入法是否顯示著
public static boolean KeyBoard(EditText edittext)
{
boolean bool = false;
InputMethodManager imm = ( InputMethodManager ) edittext.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) )
{
bool = true;
}
return bool;
}
}
Java4Android開發教程(五)java的基本數據類型特征
java的數據類型分為基本數據類型和引用數據類型。 基本數據類型分為數值型、字符型(char)、布爾型(boolean) 數值型變量 1、整
Android ADB詳細介紹及用法
Android ADB 用法adb 全稱是 Android Debug Bridge, 就是起到調試橋的作用。 用來操作android設備的閱讀目錄 adb
神奇的 Swift 錯誤處理
Swift 中的錯誤處理從 O-C 沿襲而來,但 Swift 1.0 之後逐漸發生了巨大改變。重要的改變發生在 Swift 2,它率先使用了“處理非異常的狀態
Android平台下輕量級http網絡傳輸庫
AsyncHttpHelp是一個android平台下基於httpclient開發的HTTP網絡請求工具。優點 功能齊全,提供常用的http網絡訪問接口。 輕量級,無任