我的XML布局中有两个元素(TextView),当按下LongClick时,它会提示用户输入一个新值,然后当点击DONE按钮时,它应该向tvScoreHome显示新的输入值的setText()。
当我长时间点击上面提到的元素时,编辑字段和键盘会按预期显示。但是,它不允许我输入任何内容。当我输入内容时,它没有任何显示(但设备会像按下按钮一样振动),当点击DONE按钮时它也会振动,但它不会退出键盘并在tvScoreHome元素中显示任何内容。
任何想法为什么?
// set the onLongClickListener for tvScoreHome
tvScoreHome.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
final EditText userInput = (EditText) findViewById(R.id.userInput);
InputMethodManager imm = (InputMethodManager) context.getSystemService(Service.INPUT_METHOD_SERVICE);
userInput.setVisibility(View.VISIBLE);
imm.showSoftInput(userInput, 0);
tvScoreHome.setText( userInput.getText() );
userInput.setVisibility(View.INVISIBLE);
return true;
}
});
答案 0 :(得分:1)
在复制数据和隐藏EditText之前,您需要让用户输入一些文本 从您的侦听器中删除这两行:
tvScoreHome.setText( userInput.getText() );
userInput.setVisibility(View.INVISIBLE);
当userInput
失去焦点时,也许可以使用OnFocusChangeListener来运行这两行。