将enable enabled设置为true后,无法编辑EditText

时间:2017-10-13 09:17:51

标签: android android-edittext

我有一个EditText pageTitle,只有在我的RelativeLayout addPhotoLayout不可见时才可以编辑。这是我的代码:

if(addPhotoLayout.getVisibility() == View.VISIBLE) {
    pageTitle.setEnabled(false);
} else {
    pageTitle.setEnabled(true);
}

问题是即使addPhotoLayout消失或不再可见,pageTitle也无法恢复其可编辑状态。我确实尝试更改focusablefocusableInTouchMode的值,但同样的问题仍然存在。

1 个答案:

答案 0 :(得分:1)

更新pageTitle的可见性时,您需要更新addPhotoLayout的状态。 在setMomentPicture方法中,您要将addPhotoLayout的可见性设置为GONE,但pageTitle不会收到此通知。

你可以实现这样的方法:

private method setAddPhotoLayoutVisible(boolean setVisible) {
  if(setVisible) {
    addPhotoLayout.setVisibility(View.VISIBLE);
    pageTitle.setEnabled(false);
  } else {
    addPhotoLayout.setVisibility(View.GONE);
    pageTitle.setEnabled(true);
  }
}

当您需要更新addPhotoLayout的可见性时调用它。