自定义键盘无法写入 TextView
Custom keyboard unable to write into TextView
我是 Android 工作室的新手,目前我正在尝试在应用程序中构建自定义键盘(不是服务键盘),我设法通过参考在线资源来完成它,但是当我尝试从 editText 切换到 TextView,我的键盘输入无法写入 TextView,TextView 有不同的方法吗?
我试过 textView.setText(InputType.TYPE_CLASS_TEXT);
该应用程序只是在这种情况下强制停止。
这是工作正常的 editText。
EditText editText = (EditText) findViewById(R.id.editText);
myKeyboard keyboard = (myKeyboard) findViewById(R.id.keyboard);
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);
InputConnection inputConnection = editText.onCreateInputConnection(newEditorInfo());
keyboard.setInputConnection(inputConnection);
按下我的键盘时,TextView 下面的代码没有响应。
TextView textView = (TextView) findViewById(R.id.textView);
myKeyboard keyboard = (myKeyboard) findViewById(R.id.keyboard);
textView.setRawInputType(InputType.TYPE_CLASS_TEXT);
textView.setTextIsSelectable(true);
这是我试过但应用被强制停止的代码。
TextView textView = (TextView) findViewById(R.id.textView);
myKeyboard keyboard = (myKeyboard) findViewById(R.id.keyboard);
textView.setText(InputType.TYPE_CLASS_TEXT);
供您参考,我提到的在线资源位于 How to make an Android custom keyboard?
提前致谢。
这是实现结果的一些替代方法。将 TextWatcher 添加到您的 editText,
并将其与您的 TextView 同步。代码如下:-
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
TextView textView = findViewById(R.id.textView);
textView.setText(s);
}
@Override
public void afterTextChanged(Editable s) {
}
});
我是 Android 工作室的新手,目前我正在尝试在应用程序中构建自定义键盘(不是服务键盘),我设法通过参考在线资源来完成它,但是当我尝试从 editText 切换到 TextView,我的键盘输入无法写入 TextView,TextView 有不同的方法吗?
我试过 textView.setText(InputType.TYPE_CLASS_TEXT); 该应用程序只是在这种情况下强制停止。
这是工作正常的 editText。
EditText editText = (EditText) findViewById(R.id.editText);
myKeyboard keyboard = (myKeyboard) findViewById(R.id.keyboard);
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);
InputConnection inputConnection = editText.onCreateInputConnection(newEditorInfo());
keyboard.setInputConnection(inputConnection);
按下我的键盘时,TextView 下面的代码没有响应。
TextView textView = (TextView) findViewById(R.id.textView);
myKeyboard keyboard = (myKeyboard) findViewById(R.id.keyboard);
textView.setRawInputType(InputType.TYPE_CLASS_TEXT);
textView.setTextIsSelectable(true);
这是我试过但应用被强制停止的代码。
TextView textView = (TextView) findViewById(R.id.textView);
myKeyboard keyboard = (myKeyboard) findViewById(R.id.keyboard);
textView.setText(InputType.TYPE_CLASS_TEXT);
供您参考,我提到的在线资源位于 How to make an Android custom keyboard? 提前致谢。
这是实现结果的一些替代方法。将 TextWatcher 添加到您的 editText, 并将其与您的 TextView 同步。代码如下:-
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
TextView textView = findViewById(R.id.textView);
textView.setText(s);
}
@Override
public void afterTextChanged(Editable s) {
}
});