2017-01-14 12 views
1

swipelayoutの中にある1行のテキストビューを作成したいと思います。すべてのテキストビューは、ユーザーが触れることができるアクションを表します。すべてのテキストビューの幅は100dpです。今私は、テキストビューのテキストが長すぎると、次の行に折り返す問題があります。私はandroid:singleLine="true"を使いたくありません。今私はandroid:maxLines="1"android:inputType="text"を追加しました。それはうまく動作します。私はので、私はテキストを入力する必要はありません< EditText>TextView singleLine

に変更 要素タイプ:

属性のandroid:inputtypeは< TextView>と一緒に使用すべきではありません。しかし、今、私は警告を受けますEditTextは必要ありません。

別の方法がありますか、この警告を無視するだけですか?

<TextView 
    android:id="@+id/item_list_bottom_rename" 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:maxLines="1" 
    android:inputType="text" 
    android:layout_gravity="center" 
    android:drawableTop="@drawable/ic_visibility_white_36dp" 
    android:gravity="center" 
    android:padding="10dp" 
    android:text="@string/rename" 
    android:textColor="@color/item_title_listname"/> 

ソリューション:あなたはそれが言っていること

<HorizontalScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:fillViewport="true" 
    android:minWidth="100dp" 
    android:scrollbars="none"> 

    <TextView 
     android:id="@+id/item_list_bottom_rename" 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:drawableTop="@drawable/ic_visibility_white_36dp" 
     android:gravity="center" 
     android:maxLines="1" 
     android:text="@string/rename" 
     android:textColor="@color/item_title_listname"/> 
</HorizontalScrollView> 

答えて

2

読むことがありますか?入力テキストに<TextView>を使用して

あなたは 代わり<EditText>を使用する必要があり、一般的なエラーです。 EditTextはTextViewのサブクラスであり、一部の の編集サポートがTextViewによって提供されているため、 はTextViewにいくつかの入力関連のプロパティを設定することができます。ただし、入力属性とともに TextViewを使用すると、通常、切り取りエラー&が表示されます。 テキストを入力するには<EditText>を使用してください。

InputType - 編集可能オブジェクトに保持されたテキストの基本的なコンテンツタイプを定義する整数ためビット定義。サポートされているクラスは、バリエーションとフラグと組み合わせて、目的の動作を示すことができます。

属性android:editableは、<TextView>と一緒に使用しないでください。

削除できるinputTypeでのごtextView


コンパイラが尋ねるどのような代替

1.use android:singleLine="true"なししかしandroid:maxLines="1"

を持つ:P EditTextをし、それがTextViewのとして機能します

<EditText 
    android:cursorVisible="false" 
    android:focusable="false" 
    android:focusableInTouchMode="false" 
    android:inputType="text" 
    android:maxLines="1" 
    android:text="Helloo" 
    android:id="@+id/Id" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:color/transparent" > 
</EditText> 

2.youも

<HorizontalScrollView 
    android:fillViewport="true" 
    android:scrollbars="none" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <TextView 
     android:id="@+id/item_list_bottom_rename" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:maxLines="1" 
     android:text="Heloo" /> 
</HorizontalScrollView> 
+0

を使用することができ、私は 'アンドロイドを使用していませんでした:editable'と**私は編集する必要はありません**私の' TextView'。'android:singleLine =" true "'は推奨されていませんので、android:maxLines = "1" 'と' android:inputType = "text" 'を使用してください。私のコードは正常に動作します。警告を無視するか、別の方法があるかどうかを知りたかっただけです。 – beeb

+0

どちらも、私はあなたが 'android:editable'を使ったことを言っていませんでした。** InputType **とその定義 –

+0

はい、私はそれを読んでいますが、' android:singleLine = " true "'または 'android:inputType =" text "'? – beeb