2017-12-21 2 views
1

위의 파일을 사용하는 모든 레이아웃에 대해 XML 파일에 정의 된 텍스트보기의 값을 변경하려고합니다. XML 파일은 모든 페이지의 머리글 역할을하며 각 활동 파일에 해당 값을 수동으로 설정하지 않아도 헤더 파일에 사용자 이름을 표시하려고합니다.동일한 리소스 파일을 사용하는 모든 레이아웃의 텍스트보기 값 변경

textView textElement = (TextView) findViewById(R.id.user_id); 
    String user_id_string = Integer.toString(user_id); 
    textElement.setText(user_id_string); 

내 이해에서 리소스 파일의 실제 값을 변경할 수 없으며 위의 경우에만 특정 레이아웃의 값만 변경됩니다. 이 문제를 어떻게 해결할 수 있습니까? 고맙습니다!

+0

"위의 파일이"무엇입니까? – HSchmachty

+0

응용 프로그램 클래스에서 문자열을 선언하고 값을 할당 한 다음이 값을 전체 프로젝트에서 원하는 위치에 사용하십시오. –

답변

0

SharedPreferences가 도움이 될 수 있습니다.

사용자 ID를 얻는 레이아웃 활동에서 값을 SharedPreference Variable에 저장하십시오.

나머지 레이아웃 활동에서 onResume()의 SharedPreferences에서 값을 채 웁니다.

0

당신이 옳습니다. Android SDK에는 원하는 것을 정확하게 얻을 수있는 특별한 옵션이 없습니다.

그러나 여전히 간단한 캡슐화로이 문제를 해결할 수 있습니다.베이스 ActivityWithHeader 클래스를 만들고 헤더 설정을 구현하십시오. 그리고이 로직을 필요로하는 다른 사람들의 부모로 사용하십시오. Activities. 난 당신이 도움이 링크를 찾을 수 있습니다 생각하는 질문의 맥락에서 또한

:

Re-using Layouts

Data Binding Library

관련 문제