2010-12-22 135 views
0

这是怎样的一个重新发布的,而我对任何损坏的规则道歉,但我有几个有关软键盘的Android手机问题:一对夫妇的Android软键盘问题

1)我有一个Android应用有几个不同的视图(用户之间切换)。我如何确定当前视图是哪个?我需要获取当前视图来执行隐藏虚拟键盘的代码。

2)如何检查当前是否显示虚拟键盘(这样我可以过滤各种硬键的动作)?

感谢, R.

回答

0

1) 公共类ViewIdentification扩展活动实现OnFocusChangeListener {

EditText _edt1; 
EditText _edt2; 
EditText _edt3; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    _edt1 = (EditText)findViewById(R.id.EditText01); 
    _edt1.setOnFocusChangeListener(ViewIdentification.this); 
    _edt2 = (EditText)findViewById(R.id.EditText02); 
    _edt2.setOnFocusChangeListener(ViewIdentification.this); 
    _edt3 = (EditText)findViewById(R.id.EditText03);  
    _edt3.setOnFocusChangeListener(ViewIdentification.this); 


} 

@Override 
public void onFocusChange(View v, boolean hasFocus) { 
    // TODO Auto-generated method stub 

     if(v == _edt1 && hasFocus == true){ 

     Toast.makeText(ViewIdentification.this, "The First EditText is focused now", Toast.LENGTH_LONG).show(); 

     }else if(v == _edt2 && hasFocus == true){ 

     Toast.makeText(ViewIdentification.this, "The Second EditText is focused now", Toast.LENGTH_LONG).show(); 

     }else if(v == _edt3 && hasFocus == true){ 

     Toast.makeText(ViewIdentification.this, "The Third EditText is focused now", Toast.LENGTH_LONG).show(); 

     } 

} 

}

注意:这样,我们可以知道哪种说法是重点。

2)

这可以通过计算活性(在其中最后聚焦的视图是在该位置处)的大小来进行。