我正在使用 bignerdranch 中的可扩展回收站视图。在我的孩子视图中,我放置了一个编辑文本,用户可以在其中留下关于父视图中显示的问题的评论。
我的问题是,我希望在编辑文本松散焦点后保存用户输入。 (在这种情况下,我有3个父母,每个父母有1个editText)。但是当我在编辑文字2 上输入编辑文字1 和焦点而不输入... 编辑文字2 时松散焦点后,编辑文本1输入。
我尝试使用文本观察器,并在文本更改后将代码放入...但应用程序冻结并在一段时间后停止工作。如果有更好的方法让我相应保存?
mCatatan 是我的editText。
@Override
public void onBindChildViewHolder(final ATPChildViewHolder atpChildViewHolder, int i, Object childObject) {
final ATPChild atpChild = (ATPChild) childObject;
final String text = atpChildViewHolder.mCatatanInput.getText().toString();
if(!text.equals("")) {
atpChild.setDetail(text);
atpChildViewHolder.mCatatanInput.setText(atpChild.getDetail());
} else {
atpChildViewHolder.mCatatanInput.setText(atpChild.getDetail());
}
// todo: fixed catatan being saved to another catatan
atpChildViewHolder.mCatatanInput.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
Log.d(TAG, "onFocusChange: ");
atpChild.setDetail(atpChildViewHolder.mCatatanInput.getText().toString());
atpChildViewHolder.mCatatanInput.setText(atpChild.getDetail());
}
}
});
}