gpt4 book ai didi

java - 监视自定义 TextView 中的用户按键

转载 作者:行者123 更新时间:2023-12-01 12:20:35 28 4
gpt4 key购买 nike

我是 Android 新手,我想这样做。在我的 TextView 中监听 .

目前,我有自己的 View 类,它实现了 MultiAutoCompleteTextView ,以便在用户键入时根据要求突出显示(以颜色)文本。

使用自定义 View 的原因是,我希望 View 根据用户输入(即文本)更新其颜色。

所以我的布局 xml 看起来像这样:

<mypackage.SyntaxEditor
android:id="@+id/myText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="99999999"
android:maxLines="5"
android:scrollbars="vertical"
>
</mypackage.SyntaxEditor>

在我的 Activity 类中,我有以下代码:

SyntaxEditor text = v.findViewById(R.id.myText) 

//and few adapters
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_dropdown_item_1line, methods);
text.setAdapter(adapter)
text.setThreshold(2)

现在我有一个要求,例如,当用户按下时。我需要从SyantaxEditor更新适配器

现在我遇到这个问题,在SyntaxEditor中,我希望更改adapter中的值数组,可以这样做吗?我是否采用了正确的方法来解决问题?

或者我的类设计是错误的?

提前致谢

最佳答案

由于您有现有的数组适配器,因此您只需修改现有的数据集即可。首先将隐式notifydatasetchanged设置为false

adapter.setNotifyOnChange(false);

然后remove数组中的现有元素和 add新元素

adapter.clear()
adapter.addAll(newMethods);

您将隐式通知设置为 false,因为您不希望 View 两次更新(当您清除元素并向列表中添加元素时)。

您不必担心这里的上下文。

关于java - 监视自定义 TextView 中的用户按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26690166/

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