Android: GridView対策!ソフトウェアキーボードを消す

@yanzmさんのブログで紹介されているまんまなんですが、備忘録に書かせてもらいます。

まずは何故、俺がこれを実装する必要があったかの経緯を書きます。
いろいろあって、GridViewで画像の一覧を表示する必要があるのですが、その前のアクティビティでは検索フォームがあり、その検索用アクティビティでソフトウェアキーボードを開いた状態で検索ボタンを押して画像一覧アクティビティに来たら、Out of Memoryでアプリが落ちました。ええ、HT-03Aでです。Desireだと落ちなかったのでわからなかった…。

HT-03Aでもずっとテストしていたのですが、画像一覧アクティビティで画像がたくさん出ても落ちないかどうかのテストはやっていたのですが、面倒だったので検索条件なしでずっと実験していたため、ソフトウェアキーボードを開いた状態で画像GridViewにきたら落ちるなんて夢にも思ってませんでした。

なので、検索ボタンを押したらソフトウェアキーボードを消すようにして実験してみたところ、HT-03Aでもアプリが落ちなくなりました。恐るべし、ソフトウェアキーボード!!

参考にしたyanzmさんのブログ記事は以下のURL。
http://y-anz-m.blogspot.com/2009/12/android.html

// 検索ボタンを押したときのイベント
this.btnSearch.setOnClickListener(new OnClickListener() {
	public void onClick(View v) {
		// キーボードを消す
		InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
		inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
		// 次のアクティビティに渡すIntentの呼び出しなど
	}
}

カテゴリー Android, Java | タグ   | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です