我喜欢我的 UI 是直观的; 每个屏幕应该自然而不引人注目地引导用户进入应用程序的下一步。除此之外,我努力让事情变得尽可能混乱。
开玩笑的: -)
我有三个 TableRow
,每个包含一个只读和不可聚焦的 EditText 控件,然后在其右侧有一个按钮。每个按钮启动相同的活动,但使用不同的参数。用户在那里进行选择,子活动完成,用用户的选择填充适当的 EditText
。
这是典型的级联值机制; 每个选择都缩小了下一个选择的可用选项,等等。因此,在当前行上的 EditText 包含一个值之前,我将禁用接下来每一行上的两个控件。
我需要做两件事中的一件,按照这个优先顺序:
问题在子活动返回后显示; 单击的按钮保持焦点。
回复: # 1以上-似乎没有一个 removeFocus()
方法,或类似的东西
Re: #2 above - I can use requestFocus()
to set focus to the button on the next row, and that works after the sub-activity returns, but for some reason it doesn't work in the parent activity's onCreate()
.
我需要 UI 在两个方向上的一致性——要么在子活动结束后没有按钮获得焦点,要么每个按钮获得焦点取决于它在逻辑流中的位置,包括在任何选择之前的第一个(也是唯一的)活动按钮。