单击按钮显示键盘并在textview中显示一些文本

时间:2018-04-06 05:05:45

标签: android textview focusable

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

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

2 个答案:

答案 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