2011-11-14 42 views
7

Tôi cố gắng để hiển thị bàn phím sau khi tôi thổi phồng LinearLayout và gọi setContentView như:Làm cách nào để buộc bàn phím hiển thị/ẩn?

InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
mgr.showSoftInput(etContent, InputMethodManager.SHOW_FORCED); 
getContent.requestFocus(); 

Nó đã không làm việc. Tôi cũng đã thử điều này:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 

Nhưng nó cũng không hoạt động. Làm thế nào tôi có thể buộc bàn phím hiển thị/ẩn? Tôi đã làm gì sai?

+1

Bản sao y của http://stackoverflow.com/questions/1109022/how-to-close-hide-the-android-soft-keyboard và http://stackoverflow.com/questions/2479504/forcing-the-soft-keyboard-open – Polynomial

Trả lời

1

this link rõ ràng về việc ẩn bàn phím mềm. để hiển thị nó, bạn có thể sử dụng một hack - tạo ra một EditText bất cứ nơi nào trong cách bố trí, layout_width của bạn và layout_height = 0dip, và trong onCreate làm

yourEditText.requestFocus(); 
30

này nên làm việc

public class KeyBoard { 

    public static void toggle(Activity activity){ 
     InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); 
     if (imm.isActive()){ 
      imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // hide 
     } else { 
      imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); // show 
     } 
    }//end method 
}//end class 
+0

Câu trả lời hay vẫn nó có giá trị :) –

Các vấn đề liên quan