在我的活动中有一个按钮和一个文本视图。我正在尝试的是当用户单击按钮时,键盘会显示,无论用户在那里键入什么,文本都应该显示在文本视图中。我可以在单击按钮时显示键盘,但无法在文本视图中获取文本。 我试过textview.setFocusableInTouchMode (true); & textview.requestFocus ();
在按钮单击,但仍然无法获取文本。
编辑文本而不是文本视图,并在其上添加了文本更改的侦听器,但无法实现我想要的。单击按钮时应显示键盘,然后在编辑文本中显示文本。
你可以用两种方式解决这个问题
方法1:
将 textChangeListener 添加到您的 EditText,如下所示
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
yourTextView.setText(charSequence);
}
@Override
public void afterTextChanged(Editable editable) {
}
});
方法2:
使用唯一的编辑文本并将编辑文本背景颜色设置为与屏幕背景颜色相同的编辑文本,然后您的编辑文本将看起来像文本视图,并且自动键入的值将在那里
喜欢这个:
android:background="your screen background color"
这可能会对您有所帮助
OnKeyListener
例如,
@Override
public boolean dispatchKeyEvent(KeyEvent keyEvent)
{
int keyAction = keyEvent.getAction();
if(keyAction == KeyEvent.ACTION_DOWN) //any action event you prefer
{
char pressedKey = (char) keyEvent.getUnicodeChar();
}
//append the char to the string variable
//return
}
您可以将字符串设置为 TextView
。