gpt4 book ai didi

android - 以编程方式创建具有属性 singleLine=true 的 editText

转载 作者:行者123 更新时间:2023-11-29 21:02:31 27 4
gpt4 key购买 nike

只有当 EditText 具有焦点时,我才需要将一个 EditText 限制在 1 行,但当它具有焦点时它什么也不做,只有当它具有焦点并且我关闭应用程序时才有效。我不知道为什么会这样,我尝试了一些方法来解决它,但我做不到。这是我的代码:

if(myText.isFocused()){
myText.setSingleLine(true);
myText.setMaxLines(1);
myText.setLines(1);
}

已编辑:经过讨论,我的理解是:

当 editText 的属性被放入 onCreate 方法时,Activity 中断。

主要对象:以编程方式创建具有属性 singleLine=true 的 editText。

最佳答案

尝试在您的编辑文本上设置onFocusChangeListener

myText.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(hasFocus){
myText.setSingleLine(true);
myText.setMaxLines(1);
myText.setLines(1);
}
}
});

您的代码不会监听所有焦点变化。它只会检查一次。希望这会有所帮助。

为了保持 edittext singleLine 而不管焦点,将其放在 setContentView 之后的 onCreate 中:

myText = (EditText) findViewById(R.id.ed);
myText.setSingleLine(true);

关于android - 以编程方式创建具有属性 singleLine=true 的 editText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25603911/

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