2017-10-13 3 views
0

나는 EditText pageTitle이며, 내 RelativeLayout addPhotoLayout이 보이지 않는 경우에만 편집 가능해야합니다. 이건 내 코드입니다 :EditText는 다시 활성화되도록 설정 한 후에 편집 할 수 없습니다.

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

문제는 addPhotoLayout 사라 나 더 이상 볼 경우에도 없다, pageTitle는 편집 가능한 상태로 돌아갑니다되지 않습니다. focusablefocusableInTouchMode의 값을 변경하려고했지만 동일한 문제가 계속 발생합니다. The source code for the entire activity is here.

+0

setEditable을 true로 설정하고 setFocusableInTouchMode를 true로 설정 한 다음 다시 시도하십시오. –

답변

1

addPhotoLayout의 표시 여부를 업데이트하면 pageTitle 상태를 업데이트해야합니다. 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의 가시성을 업데이트해야 할 때를 호출합니다.

관련 문제