我喜欢界面直观。每个屏幕都应该自然而顺畅地将用户引导至应用程序的下一步。除非如此,否则我将努力使事情变得尽可能混乱和困惑。
开玩笑 :-)
我有3个TableRow
s,每个s包含一个只读且不可聚焦的EditText控件,然后在其右侧有一个按钮。每个按钮启动相同的活动,但带有不同的参数。用户在那里进行选择,子活动结束,EditText
并使用用户的选择填充相应内容。
这是经典的级联价值机制。每个选择都会缩小下一个选择的可用选项,以此类推。因此,我禁用了下一行每一行的两个控件,直到当前行的EditText包含一个值为止。
我需要按照优先顺序执行以下两项操作之一:
- 单击某个按钮后,请立即移开焦点,而无需将焦点设置为其他按钮
- 活动开始时将焦点设置到第一个按钮
问题在子活动返回后出现;单击的按钮保持焦点。
回复:上面的#1-似乎没有removeFocus()
方法或类似的东西
回复:上面的#2-我可以requestFocus()
用来将焦点设置到下一行的按钮上,并且在子活动返回后可以使用,但是由于某种原因,它在父活动的中不起作用onCreate()
。
我需要在两个方向上都具有UI一致性-子活动完成后没有按钮具有焦点,或者每个按钮是否获得焦点取决于其在逻辑流程中的位置,包括在选择之前的第一个(也是唯一的)活动按钮。