2016-09-07 4 views
0

私は働いているアプリケーションの2つのバージョンがあります。最初のバージョンには、ユーザーがデータを保存しようとしたときにEditText UI行に設定され、行が空のsetErrorメッセージがあります。 gradle dependencieはバージョン24.0.0を使用します。Android:ビュー歪みを引き起こすsetErrorメッセージはなぜですか?

メッセージのように正しく表示されます。アプリの第二のバージョンは同じSETERRORコードを持っていますが、テキストの編集ラインを見ることにより、押下されたように見えるので、表示が歪んで見えます

enter image description here

「Do」テキストのすぐ下にはなく、赤い円形の感嘆符がエラーメッセージの左に移動します。このバージョンでは、gradle dependencieバージョン24.2.0が使用されています。

enter image description here

これを引き起こしている可能性が何上の任意のアイデア?

以下のパーマイクMさんのコメント、私はTextInputLayout上)(SETERRORを使用しますが、それは私はむしろ使用しないと思いますのEditText行の先頭の下に現れ、完全に異なるのエラーメッセージが表示されます

enter image description here

Activity.java

... 
public void onClickSave(View v) { 
    int stringTD = EditText.getText().toString().replace(" ", "").length(); 
    if (stringTD == 0) { 
     EditText.requestFocus();    
     EditText.setError("Add a Do Item"); 

layout.xml

... 
<android.support.design.widget.TextInputLayout 
    android:id="@+id/TD_text_input_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textColorHint="@color/colorFlLabelFinal" 
    app:hintTextAppearance="@style/FloatingLabel" > 

<com.EditText 
    android:id="@+id/EditText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="2dp" 
    android:inputType="text|textCapSentences|textNoSuggestions" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#FFFFFF" 
    android:textIsSelectable="true" 
    android:textColorHighlight="@color/colorPrimary" 
    android:paddingLeft="5dp" 
    android:paddingStart="5dp" 
    android:drawableStart="@drawable/24dp" 
    android:drawableLeft="@drawable/24dp" 
    android:drawablePadding="5dp" 
    android:maxLines="1" 
    android:maxLength="51" 
    android:imeOptions="actionNext|flagNoExtractUi" 
    android:nextFocusDown="@+id/DEditText" /> 
+0

[EditTextエラーアイコンと表示されていないパスワードが間違っています]の複製があります(http://stackoverflow.com/questions/39313026/editext-error-icon-and-show-password-missplaced) –

+0

@Mike M. setError )は、感嘆符と灰色のエラーメッセージダイアログボックスを失います。それは私がむしろ使用したくないEditText行の下に赤でメッセージを追加します。そこで、私はEditTextでsetError()の使い方を修正する方法を探しています – AJW

+0

24.2.0から24.0.0へのgradle依存関係のバージョンをロールバックして、問題が消えました。おそらく、新しい依存バージョンには、EditTextでsetError()を正しく表示できないバグがあります。これをテストするためにGoogleでリクエストを送信するのは簡単ですか? – AJW

答えて

1

thisによれば、の中にEditTextを使用すると、このような動作はバージョン24以降で発生します。だから今解決策は、EditTextだけを使用することです。

試してみてください。

関連する問題