2012-06-01 2 views
2

나는 EditText를 동적으로 빌드합니다. 무엇보다 힌트 (.setHint)와 inputType (.setInputType)의 두 가지 속성을 설정했습니다. 내 문제 : setInputType 호출 할 때 setHint 아무런 영향을 미치지 않습니다 : 빈 edittexts 힌트없이 빈 상태로 유지됩니다. setInputType을 주석 처리하면 모든 힌트가 표시됩니다. 입력 유형과 힌트가 모두 필요합니다. 무엇을해야합니까? 내 코드 :setHint는 setInputType을 사용하지 않습니다.

private EditText buildTextBox(Property property) 
{ 
    EditText control = new EditText(this); 
    control.setInputType(getInputTypeByPropertyInputType(property.getType()));// android.text.InputType. 
    control.setHint(property.getDisplayName()); 
    return control; 
} 

private int getInputTypeByPropertyInputType(String type) 
{ 
    if (type.equals("integer")) 
    { 
     return android.text.InputType.TYPE_CLASS_NUMBER; 
    } 
    else 
    { 
     return android.text.InputType.TYPE_CLASS_TEXT; 
    } 
} 
+1

내가 호출 한 메소드 중 하나는 control.setGravity (Gravity.CENTER)였습니다. 일단이 호출을 제거하면 모든 힌트를 볼 수있었습니다. 나는 그것이 일어나는 이유를 설명 할 수 없다. 그리고 나의 마음에 이것은 꽤 이상한 행동이다. –

답변

2

@Eugene 당신이 control.setGravity()와 control.setInputType()를 호출 직전) control.SetHint을 (전화 확인; 그리고 그것은 나를 위해 verrry 많이 일합니다!

  column1 = new EditText(this); 
      column1.setId(i); 
      column1.setHint("Value"); 
      column1.setInputType(InputType.TYPE_CLASS_NUMBER); 
      column1.setGravity(Gravity.RIGHT); 
0

유진과 동의합니다. 중력을 제거하십시오 (단지 CENTER를 사용하지 마십시오). 힌트 텍스트는 정상적으로 돌아옵니다. 니스 찾기!

관련 문제