我想要功能
这是代码,但它不起作用。 Enter和shift + Enter(没有换行)之间没有区别:
EditText text=(EditText)findViewById(R.id.text); text.setOnEditorActionListener( new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if ( (actionId == EditorInfo.IME_ACTION_DONE) || ( (event.isShiftPressed()==false) && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN ) ) ){ Editable buff=(Editable)v.getText(); writeText( buff.toString() ); context.finish(); // texten sparad här o activity avslutas return true; } return false; } });layout.xml中的
:
android:inputType="text|textMultiLine"
android:imeOptions="actionDone"
答案 0 :(得分:4)
我认为您需要使用shift键侦听器并保留一个布尔值来检测何时按下shift键,如下所示:
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
switch (v.getId())
{
case R.id.myEditTextId:
if(keyCode==59)//59 is shift's keycode
//do your stuff here against pressing shift key
break;
}
}