0

在我的活动中有一个按钮和一个文本视图。我正在尝试的是当用户单击一个按钮时,键盘会显示出来,无论用户在那里键入什么文本都应该显示在文本视图中。我能够在键盘上显示按钮单击但无法在 textview 中获取文本。我尝试textview.setFocusableInTouchMode (true); & textview.requestFocus (); 单击按钮,但仍然无法获取文本。

正如建议的那样,我添加了 edittext 而不是 textview 并在其上添加了文本更改侦听器,但无法实现我想要的。键盘应该出现在按钮单击上,然后在 edittext 中显示文本。

4

2 回答 2

2

你可以通过两种方式解决这个问题

方法一:

像这样将 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) {
        }
    });

方法二:

使用唯一的 editText 并将 EditText 背景颜色设置为与您的屏幕背景颜色相同,然后您的 editText 将看起来像一个 textView 并且将在那里自动键入值

像这样 :

android:background="your screen background color"

这可能会帮助你

于 2018-04-06T05:15:28.443 回答
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.

于 2018-04-06T05:27:35.897 回答