2012-05-30 4 views
-1

등록 절차가있는 신청서가 있습니다. 필드는 "배지 ID (사용자 이름)"및 "키 (암호)"입니다. 프로세스의 시작 부분에 공유 환경 설정에서 두 개의 입력 값을 설정합니다. 내 응용 프로그램에 대한 두 가지 값을 원합니다. 다음 두 값 (또는이 값을 편집)에 "Badge already taken."와 같은 건배를 보여 주려고 할 때 어떻게 구현할 수 있습니까?Android 공유 환경 설정

Toast.makeText(getApplicationContext(), "Badge already taken.Try 'Enter Here !'", Toast.LENGTH_LONG).show(); 
+0

이 중 어떤 부분에 문제가 있습니까? –

+0

나는 editing.i에 의한 공유 환경 설정 메모리를 막고 싶다. 첫 번째 등록 시간에 입력되는 값만 원한다. –

답변

1

당신은 당신의 공유 환경 설정이 이미 사용자 이름이나 암호를 저장 여부를 테스트하는 SharedPreferences.contains(String key)를 사용할 수 있습니다.

사용자에게 이름이나 암호 변경에 대해 불평하는 대신 사용자가 변경할 수있는 UI 요소를 비활성화하거나 제거하는 것이 좋습니다.

는 예를 들어, onCreate이 같은 뭔가를 할 수 : 심지어 위의 논리에 따라 setContentView에 대한 호출에 전혀 다른 레이아웃을 사용하기로 결정 수

SharedPreferences prefs = PreferenceManager 
    .getDefaultSharedPreferences(getContext()); 
if (prefs.contains(KEY_USERNAME)) { 
    // name (and password, presumably) already stored 
    // disable/hide appropriate UI elements 
} else { 
    // no user name stored 
    // enable/show elements that allow user to make changes 
} 

.

+0

사용자가 이미 설정된 사용자 이름과 암호를 편집 할 때 어떻게 메시지를 표시 할 수 있습니까? 그걸 도와주세요 ... 적절한 UI 요소를 비활성화/숨길 수있는 방법은 무엇입니까? –

+0

@DipinKG - 질문에 게시 한 코드는 훌륭하게 처리해야합니다. 그러나 사용자가 수행하고 싶지 않은 작업을 수행 할 수 없도록 UI를 디자인하는 것이 좋습니다. 예를 들어 사용자 이름 필드를 사용하지 않거나 숨기면 (또는 편집 할 수없는 필드로 바꾸면) 사용자가 처음에는 이름을 편집 할 수 없으므로 토스트를 팝업 할 필요가 없습니다 . –

+0

어떻게 적절한 UI 요소를 숨기거나 숨길 수 있습니까? –