自己做了个软键盘,有2个edittext,点击都可获取焦点,但软键盘一直在第二个edittext输出,有没有办法让它在取得焦点的edittext输出呢。

解决方案 »

  1.   

    我用isfoucs方法通过判断edtitext是否获取焦点来构造软键盘,但是运行起来总是出错。
      

  2.   

    可以按下面这个思路来做.1.声明一个currentEditText对象
    2.为两个EditText设置OnFocusChangeListener,当EditText得到焦点的时候把currentEditText指向当前这个EditText.
    3.在软键盘输入的时候设置currentEditText的值
      

  3.   

    去除XML文件中android:focusable属性,android:foucsableInTouchMode 属性和tag。
    然后再用以下代码实现:
    public class YOURMAINActivity extends Activity implements OnClickListener {   private EditText editTxt1;
       private EditText editTxt2;   @Override
       public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.layout_id);
            editTxt1 = (EditText)findViewById(R.id.edit_text_one_id); 
            editTxt2 = (EditText)findViewById(R.id.edit_text_two_id);
            editTxt1.setOnClickListener(this);
            editTxt2.setOnClickListener(this);   @Override
       public void onClick(View view) {       switch(v.getId()) {           case R.id.R.id.edit_text_one_id :
                        editTxt1.requestFocus();
                        editTxt1.setFocusable(true);
                        editTxt2.setFocusable(false);
                        break; 
               case R.id.R.id.edit_text_two_id :
                        editTxt2.requestFocus();
                        editTxt2.setFocusable(true);
                        editTxt1.setFocusable(false);
                        break;
           }
            //在这儿添加显示键盘的代码
        }
    }