gpt4 book ai didi

android: 历史编辑文本

转载 作者:行者123 更新时间:2023-11-30 04:11:57 25 4
gpt4 key购买 nike


第一个总结:

class A extends AutoCompleteTextView {
public A() {
setOnKeyListner( ... new OnKeyLisnter() ... ); //listener 1
}
}
A obj;
obj.setOnKeyListener( ... new OnKeyListner() ... ); //listner 2

是否可以同时调用两个监听器?现在我只收到来自听众 2 的消息。


我正在尝试使用从 AutoCompleteTextView 派生的历史记录来构建编辑文本。该类有一个 ArrayAdapter,它会在按下回车键时自行更新。到目前为止,一切都很好。但是当从这个类创建的对象想要做的不仅仅是将文本添加到数据库时,我需要使用另一个 onKeyListener。如果这样做,则不会调用原始监听器。有没有办法在按下回车键时让两者都被调用?

class HistoryEditText extends AutoCompleteTextView {
ArrayAdapter<String> adapter;
public HistoryEditText(Context ctx) {
super(ctx);
setMaxLines(1);
setOnKeyListener(new aCommand());
List<String> myList = new LinkedList<String>();
adapter = new ArrayAdapter<String>(ctx,R.layout.lvtext, myList);
setAdapter(adapter);
}
private class aCommand implements OnKeyListener {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
String str = getText().toString();
setText(" ");
adapter.add(str);
adapter.notifyDataSetChanged();
return true;
}
return false;
}
}
}

其他地方:

   HistoryEditText cmdField = new HistoryEditText(ctx);
cmdField.setOnKeyListener(... another listener ... )

我尝试在其中一个监听器中返回 false 但没有成功。此外,我不想使用接口(interface)将两个监听器合并为一个。谢谢

最佳答案

此处的类似问题可能会有所帮助。基本上总结就是不行,不行。

Android - Two onClick listeners and one button

他使用了一些肮脏的黑客来解决它,但他几乎做了你不想做的事情。

关于android: 历史编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10726384/

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