我的应用程序有七个editTexts,下面有一个按钮。当用户使用数值填充所有editText时,我希望按钮更改其背景(int或double,零除外)。
我想我应该使用OnTouchChangeListener,但我不知道该怎么做,有什么建议吗?
答案 0 :(得分:0)
将module Main where
import Graphics.Gloss
import Graphics.Gloss.Interface.Pure.Game
import System.IO.Unsafe
data World = World { test :: String
} deriving (Show)
main :: IO ()
main = do
let initialioWorld = return World{test=""} :: IO World
let windowSize = (1800,1800)
let windowPosition = (0,0)
let backgroundColor = orange
let framesPerSecond = 20
play (InWindow "" windowSize windowPosition) backgroundColor framesPerSecond
initialioWorld ( const Blank ) handleEvent (const id)
handleEvent :: Event -> IO World -> IO World
handleEvent event ioworld
| (EventKey (MouseButton LeftButton) Down _ (x,y)) <- event,
World str <- unsafePerformIO ioworld
= do
putStrLn "Clicked!"
return (World str)
| otherwise = ioworld
添加到您的EditText。
addTextChangedListener
假设所有EditText视图都需要相同的逻辑,请创建一个TextWatcher对象并将侦听器绑定到每个上面。您也可以在班级中实现这一点:
TextWatcher textWatcher = 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) {
// Add your logic here
}
@Override
public void afterTextChanged(Editable s) {
}
};
editText.addTextChangedListener(textWatcher);
// Remember to remove when whatever actions required have completed.
editText.removeTextChangedListener(textWatcher);
将覆盖方法添加到类中,并在class MyClass implements TextWatcher
方法中编写代码。
答案 1 :(得分:0)
在
中添加一行 android:digits="123456789"
在java文件中检查edittext的长度。如果所有editext的长度都大于1,则更改按钮的颜色。 如果工作......检查我的答案