2012-05-04 8 views
0

の間のEditTextを編集しながら、私は、ユーザー名とパスワードの2 EditTexts、それぞれがテキストを有していてがデフォルトのテキストとして、それぞれ「パスワードを入力してください」「ユーザ名を入力してください」。問題フォーカスの変更

テキストの色は薄い灰色です。ここで彼らは焦点を当てると、パスワードの種類とパスワードedittextのinputTypeを(他のものの上にあるが動作する)パスワードタイプに変更することになっています。

最初はテキストの色を黒に変更しましたが、元に戻すことはできず、inputTypeは決して変更されません。

私は欠けていますところ、以下の私のコードで、私を提案してください:パスワードの編集テキストザッツ

OnFocusChangeListener pwListener = new View.OnFocusChangeListener() { 
     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      if(hasFocus) { 
       //if it has focus then clear the text and make text black 
       if(((EditText) v).getText().toString().compareTo(getString(R.string.passwordField)) == 0) { 
        ((EditText) v).setTextColor(R.color.Black); 
        ((EditText) v).setText(R.string.blank); 
        ((EditText) v).setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); 
       } 
      } else if(!hasFocus) { 
       //if it loses focus and nothing was inputed then change back to default 
       if(isEmpty(((EditText) v).getText().toString())) { 
        ((EditText) v).setTextColor(R.color.TextInput); 
        ((EditText) v).setText(R.string.passwordField); 
        ((EditText) v).setInputType(InputType.TYPE_TEXT_VARIATION_PERSON_NAME); 
       } 
      } 
     } 
    }; 

、これはそのXMLです:あなたが設定していけないのはなぜ

<EditText 
    android:id="@+id/passwordInput" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:inputType="textPersonName" 
    android:layout_marginTop="5dip" 
    android:layout_marginLeft="20dip" 
    android:layout_marginRight="20dip" 
    android:paddingTop="15dip" 
    android:paddingBottom="15dip" 
    android:text="@string/passwordField" 
    android:textColor="@color/TextInput" 
    android:textSize="25sp" 
    android:gravity="center_vertical" 
    android:ems="10" > 
</EditText> 

答えて

3

は、ユーザ名を入力してください編集テキストのヒントテキストとして「パスワードを入力」を使用

android:hint="Enter User Name" 

自動的にdiユーザーがEdittextをクリックしたときにサッピア。

+0

私ならばそれは私に多くの時間を保存してしまうすごいハハそれだけを知っていました。ありがとう –

+0

Upvoteと有用な場合は、投稿を受け入れる。 –

0

利用代わり

android:text="@string/passwordField" 

android:hint="@string/passwordField" 

とあなたのXMLでのユーザー名

1

で同じことを行うデフォルトとして値を設定するHintプロパティを使用します。

のような:

android:hint="@string/username"

android:hint="@string/password"

代わり

android:text="@string/username"

android:text="@string/password"

関連する問題