[英]Hide soft Keyboard on every onClick event
我使用一個抽象類來實現OnClickListener
,
public abstract class HideKeyboardClickListener extends View implements View.OnClickListener {
public HideKeyboardClickListener(Context context) {
super(context);
setOnClickListener(this);
AppUtils.hideKeyboard((Activity) context);
}
@Override
public void onClick(View v) {
}
}
並像這樣使用它-
button.setOnClickListener(new HideKeyboardClickListener(mActivity) {
@Override
public void onClick(View v) {
// Handle Click
}
});
但是我沒有收到任何點擊事件。
步驟1. //首先創建一個BaseActivity類,如下所示。 無需在清單中添加它。
public class MyBaseActivity extends AppCompatActivity implements View.OnClickListener{
@Override
public void onResume() {
super.onResume();
}
@Override
public void onStop() {
super.onStop();
}
@Override
public void onClick(View view) {
//call method to hide keyboard
}
}
步驟2。//然后在所有Activity類中擴展此Activity類,如下所示。
public class HomeActivity extends MyBaseActivity {
}
這兩個步驟足以滿足您的要求。並且不會影響您的應用程序
將此代碼放在您的按鈕上單擊
InputMethodManager inputManager = (InputMethodManager)
getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
試試這個方法
public static void hideKeyboard(Context context, View view) {
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
inputMethodManager.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.