gpt4 book ai didi

java - 如何从 java 类更改自定义键盘按键的背景?

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:41 26 4
gpt4 key购买 nike

我正在开发一个 Android 键盘,我需要在按下特定键时更改按键背景。我尝试在 mykeyboard.java 文件中执行此操作:

private KeyboardView kv;
(...)
kv = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null);
kv.setOnKeyboardActionListener(this);
keyboard = new Keyboard(this, qwerty);
kv.setKeyboard(keyboard);
kv.setOnTouchListener(new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
(...)

(v.findViewById(R.id.myKeyId)).setBackgroundColor(Color.BLUE);
}
}

但是发生了这个错误:

᠎java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setBackgroundColor(int)' on a null object reference at com.mtsolutions.mykeyboard.MyKeyBoard$1.onTouch(MyKeyBoard.java:87)

这是哪一行:

(v.findViewById(R.id.myKeyId)).setBackgroundColor(Color.BLUE);

这是res/layout/keyboard.xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<android.inputmethodservice.KeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:keyPreviewHeight="0dp"/>

res/xml/qwerty.xml 文件中的一些代码在哪里:

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="6.25%p"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="5%p">

<Row>
<Key> (...) android:id"@+id/myKeyId" (...) />
</Row>

</Keyboard>

我做错了什么?

谢谢。

最佳答案

kv.setBackgroundColor(Color.BLUE);

不用复杂的代码,你可以这样做

关于java - 如何从 java 类更改自定义键盘按键的背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39966998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com