如果将EditText
用作Fragment
(或Activity
)的直接UI组件,则在更改配置期间,我们可以保留EditText
的文本,焦点状态,选择状态,滚动位置,……(所有内容),请使用以下代码。
// Code of a fragment.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.new_note_fragment, container, false);
this.editText = view.findViewById(R.id.edit_text);
if (savedInstanceState == null) {
this.editText.setText(...
} else {
// Configuration change happens.
//
// Do not do anything on this.editText. Android system will
// automatic preserve the state of this.editText. This includes
// text inside this.editText, focus state of this.editText,
// selection state of this.editText, scroll position of
// this.editText, ... everything.
}
如果我将EditText
用作RecyclerView
中仅有的1个项目怎么办? RecyclerView
中还有其他项目,但是它们具有不同的ViewType
,而并非EditText
。
意味着,在整个RecyclerView
中,将只有一个EditText
。
在这种情况下,我是否知道在配置更改期间如何在EditText
中保留特定RecyclerView
的状态?