1

私は今直面している問題に手を差し伸べるのを助けてくれることを願っています。Android 5.1ではTextInputEditTextが機能しません

TextInputEditTextを使用してカスタム検索ビューを作成しました。実際にはシンプルで、すべてのAndroidバージョンで5.1(Lollipop)を除いて正常に動作し、エディットテキストはカーソルの書き込み時または表示時にヒントを隠すことはありません。テキストは表示されません。

私は知っているすべてを試しましたが、何ができるのか理解できません。

ありがとうございました。

これは私のカスタムクラス図である:

public class CustomSearchView extends RelativeLayout { 

@BindView(R.id.csvIcon) ImageView csvIcon; 
public @BindView(R.id.csvEditText) TextInputEditText editText; 

public CustomSearchView(Context context) { 
    super(context); 
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    inflater.inflate(R.layout.custom_search_view, this, true); 
    ButterKnife.bind(this); 
} 

public CustomSearchView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    inflater.inflate(R.layout.custom_search_view, this, true); 
    ButterKnife.bind(this); 
    TypedArray typedArray = context.getTheme().obtainStyledAttributes(
      attrs, 
      R.styleable.CustomSearchView, 
      0, 0); 
    String hintText = typedArray.getString(R.styleable.CustomSearchView_hintText); 
    try { 
     int max = typedArray.getInteger(R.styleable.CustomSearchView_csv_length, 17); 
     editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(max)}); 
     editText.setInputType(typedArray.getInt(R.styleable.CustomSearchView_android_inputType, InputType.TYPE_CLASS_TEXT)); 
     editText.setHint(hintText); 
     csvIcon.setImageDrawable(typedArray.getDrawable(R.styleable.CustomSearchView_csv_icon)); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

public CustomSearchView(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
} 
} 

これは、属性指定されている:

<declare-styleable name="CustomSearchView"> 
    <attr name="csv_icon" format="reference"/> 
    <attr name="hintText" format="string"/> 
    <attr name="csv_length" format="integer"/> 
    <attr name="android:inputType"/> 
    <attr name="android:digits"/> 
</declare-styleable> 

これは私のXML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:background="@color/charcoal_grey_two"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:id="@+id/csvIcon" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="10dp" 
      android:src="@drawable/icon_search"/> 

     <android.support.design.widget.TextInputEditText 
      android:id="@+id/csvEditText" 
      android:layout_width="match_parent" 
      android:layout_height="45dp" 
      android:layout_gravity="center" 
      android:cursorVisible="true" 
      android:focusableInTouchMode="true" 
      android:layout_marginLeft="10dp" 
      android:imeOptions="actionSearch" 
      android:inputType="textAutoComplete" 
      android:textSize="20dp" 
      android:textColorHint="@color/slate_grey" 
      android:textColor="@color/slate_grey" 
      android:background="@android:color/transparent"/> 

    </LinearLayout> 

</RelativeLayout> 
です

この断片の私の実装です:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:clickable="true" 
android:background="@color/gunmetal"> 

<mx.com.segurosbancomer.gpsajustadores.view.custom.TopBarLayout 
    android:id="@+id/topBar" 
    android:layout_width="match_parent" 
    android:layout_height="45dp" 
    app:tb_color="@color/gunmetal" 
    app:tb_text="@string/bf_title" 
    app:tb_text_color="@color/white" 
    app:tb_btnleft_visibility="0" 
    app:tb_btnright_visibility="8" 
    app:tb_btnleft="@drawable/icon_prev_white" 
    app:tb_btnright="@drawable/icon_dot_gray"/> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="10dp" 
    android:orientation="vertical"> 

    <mx.com.segurosbancomer.gpsajustadores.view.custom.CustomTextView 
     android:id="@+id/tituloPoliza" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="@string/bf_search" 
     android:textColor="@color/white" 
     android:textSize="18dp" 
     android:layout_margin="10dp" 
     app:ctv_customFont="stagsansbook.otf" /> 


    <mx.com.segurosbancomer.gpsajustadores.view.custom.CustomSearchView 
     android:id="@+id/searchPoliza" 
     android:layout_width="match_parent" 
     android:layout_height="45dp" 
     android:layout_margin="10dp" 
     android:cursorVisible="true" 
     android:focusableInTouchMode="true" 
     android:inputType="textAutoComplete" 
     android:digits="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890" 
     app:csv_length="30" 
     app:csv_icon="@drawable/icon_search" 
     app:hintText="@string/bf_poliza" /> 

    <mx.com.segurosbancomer.gpsajustadores.view.custom.CustomSearchView 
     android:id="@+id/searchInciso" 
     android:layout_width="match_parent" 
     android:layout_height="45dp" 
     android:layout_margin="10dp" 
     android:cursorVisible="true" 
     android:focusableInTouchMode="true" 
     android:inputType="textAutoComplete" 
     android:digits="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890" 
     app:csv_length="30" 
     app:csv_icon="@drawable/icon_search" 
     app:hintText="@string/bf_inciso" /> 


    <View 
     android:layout_width="match_parent" 
     android:layout_height="3dp" 
     android:background="@color/charcoal_grey_two"/> 

    <mx.com.segurosbancomer.gpsajustadores.view.custom.CustomTextView 
     android:id="@+id/tituloSerie" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="@string/bf_search_serie" 
     android:textColor="@color/white" 
     android:textSize="18dp" 
     android:layout_margin="10dp" 
     app:ctv_customFont="stagsansbook.otf" /> 

    <mx.com.segurosbancomer.gpsajustadores.view.custom.CustomSearchView 
     android:id="@+id/searchSerie" 
     android:layout_width="match_parent" 
     android:layout_height="45dp" 
     android:layout_margin="10dp" 
     android:cursorVisible="true" 
     android:focusableInTouchMode="true" 
     android:inputType="textAutoComplete" 
     android:digits="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890" 
     app:csv_length="17" 
     app:csv_icon="@drawable/icon_search" 
     app:hintText="@string/bf_serie"/> 


</LinearLayout> 

</LinearLayout> 

答えて

2

最後に解決策が見つかりました。他のいくつかは、私と同じように、同様の問題がある場合は、問題は、この行はフラグメントに許可のAndroidManifest.xml

android:hardwareAccelerated="false" 

からこの行を削除し、すべてのコンポーネントが完全に動作するようにすることで解決されました。

+0

あなたは素晴らしいです –

0

あなたがラップTextInputLayoutTextInputEditTextを使用する必要があります。代わりにEditTextを使用してください。 これを参照してください:https://stackoverflow.com/a/37834022/5558150

+0

EditTextを使用するようにクラスとXMLを変更しましたが、TextInputLayoutを使用していても何も変更されていません。( –

関連する問題