在我的活动中有一个按钮和一个文本视图。我正在尝试的是当用户点击键盘出现的按钮时,无论用户输入什么文本都应该在textview中显示。我能够在按钮单击时显示键盘但无法在textview中获取文本。我试过textview.setFocusableInTouchMode (true); & textview.requestFocus ();
点击按钮,但仍无法获取文字。
正如所建议的那样,我添加了edittext而不是textview,并在其上添加了文本更改的侦听器,但无法实现我想要的。键盘应该出现在按钮上,然后在edittext中显示文本。
答案 0 :(得分:2)
你可以通过两种方式解决这个问题
方法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:
使用唯一的editText并设置与屏幕背景颜色相同的EditText背景颜色,然后您的editText将看起来像textView并自动键入值将在那里
像这样:android:background="your screen background color"
这可能对您有所帮助
答案 1 :(得分:0)
您可以使用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
。