2013-02-26 4 views
18

アンドロイド4.0に編集テキスト入力があり、その中にカーソルが表示されていません。Edittextカーソルがアンドロイド4.0で表示されない

カーソルが入力フィールドに表示されないようにするにはどうすればよいですか?

+1

私はこの問題を持っていた、私は、申し訳ありませんが、それは私がプロジェクトに設定していたテーマに関連していたと思います久しぶり。 – alex

+0

@alex他の編集テキストカーソルが新しい連絡先の作成などで表示されているのを見てください カーソルがどのように表示されていますか? –

+0

http://stackoverflow.com/a/9165217/3000919では、正しい解答と明確な説明を提供しています。 –

答えて

1

xmlファイルの編集テキストにこの行を追加します。

android:cursorVisible="true" 
+2

私はそれを試みましたが、それは私を助けなかった –

+1

http://stackoverflow.com/a/7238526/2106338私はこれが助けになることを願っています – Droidee

+0

それはアンドロイド4.2で動作しませんでした。 –

0

私に起こったことがわかりました。

アプリケーションのテーマから継承する必要があります。広告申込情報が正確に必要なものはわかりませんが、android:Themeはそれを継承しているため、そのトリックが行われます。

デフォルトのAppBaseThemeを使用すると、親としてandroid:Theme.Lightとなります。

AppBaseThemeを使用するには、android:theme="@style/AppBaseTheme"をマニフェストのアプリケーションタグに入力します。また、スタイルのタグにparent="android:Theme"がある限り、カスタムスタイルと複数レベルの継承を使用することもできます。私はそれがなくても、特定の広告申込情報を使用することは可能かもしれませんが、それらが何であるかを知りません。

あなたはちょうどあなたが@nullandroid:textCursorDrawable属性を設定し、その後android:textColorを使用している場合はandroid:cursorVisible="true"

を作る

android:theme="@android:style/Theme"

56

を使用することができますカスタムテーマを必要としない場合。

コーディングハッピー;)

+1

アンドロイド:textCursorDrawableはAPIレベル12以上です。しかし、魅力のように動作します。下位バージョンのソリューション – Prachi

+1

アンドロイド:layout_alignParentLeft = "true" を アンドロイド:layout_alignParentStart = "true" を アンドロイド:の、textColor = "@アンドロイド:カラー/ブラック" アンドロイド:バックグラウンド= アンドロイド "描画可能/ round_rect_shape @":cursorVisible = "true" に アンドロイド:textCursorDrawable = "@ null" アンドロイド:ヒント= "金額">

+1

私はこの問題(textCursorDrawable)を解決したので、私はこの回答をupvotedしましたが、あなたの理由は若干誤っています。 textCursorDrawable = "@ null"を指定すると、カーソルの色はtextColorと同じになりますが、そのためにはandroid:textColorを使用する必要はありません。 textCursorDrawableは、カーソルが見えない理由は、EditTextの背景(通常は白)と同じ色だからです。 –

9

私は同様の問題があったが、カーソルが実際に白であるため、それがだったと私は白の背景を持っていました。私は何とかコード内の黒にカーソルを変更する必要があり、このアプローチを使用しました。

Iが(私はXamarinを使用していますので、C#)を、私は、コードでこのレイアウトを適用し、この

<?xml version="1.0" encoding="utf-8"?> 
    <EditText xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="This is a template" 
    android:background="#ffffff" 
    android:textColor="#000000" 
    android:cursorVisible="true" 
    android:textCursorDrawable="@null" /> 

を含有textbox.axml呼ばれるレイアウトリソースを作成し、したがって

EditText txtCompletionDate = (EditText)LayoutInflater.Inflate(Resource.Layout.textbox, null); 

それは似ていますJavaで。

+1

Androidでこの回答を使用するには、android:textCursorDrawable = "@ null"を追加してください回答)。 –

4

私はまったく同じ問題が発生しました - ユーザーがいくつかの文字を入力した後にだけカーソルが表示されていました。私はここに記載されているソリューションを試しましたが、私のデバイスでは成功しませんでした。実際に私のために働く何か、私のEditTextに空白のテキストを設定している:

EditText editText = findViewById(R.id.edit_text); 
editText.setText(""); 

これは、ユーザーの入力を「偽物」、およびカーソルが表示されます。

+0

スズ、これは私の問題を解決する唯一の答えです、それは時間がかかります。私はそれがedittextのバグかもしれないと思う – oscarthecat

+1

実際にそれは私のために働いていませんでしたが、 'editText.setText(" ")'(_space_を使って)でした – marco

4

私はAppCompatテーマを使用していましたが、AppCompatスタイルを正しく適用するためにAppCompatEditTextを拡張する必要があるEditTextを拡張したカスタムビュークラスがありました。

+1

私にとって、これは正解と思われます。 cursorDrawableを@nullに設定すると、カーソルの外観も変わります。私の場合は非常に薄く見えます。 EditTextからAppCompatEditTextに変更すると問題が修正され、*と*はカーソルを正しく表示します。 – Benjamin

0

私の場合、ユーザーの言語が英語の場合はカーソルが表示されますが、言語をアラビア語に変更しても表示されない場合はカーソルが表示されます。

これを修正するには、カーソルのカスタム描画可能ファイルを作成しました。

Cursur SHAP

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <solid android:color="#a8a8a8"/><!-- This is the exact color of android edit text Hint --> 
    <size android:width="1dp" /> 
</shape> 

描画可能/ black_cursor.xmlでテキスト編集:

<EditText 
    android:id="@+id/user_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 
    android:textCursorDrawable="@drawable/black_cursor" 
    /> 
3

xmlファイルでの編集テキストの次の行を追加します。

android:textCursorDrawable="@null" 
0

私の個人的な修正を誰かに追加するだけで役立つかもしれません。私はここですべてを試してみましたが、強制的にandroid:background="@null"が右側の端にある非常に小さなカーソルを引き起こしていましたTextEdit(他の場所で正常に動作していました)。

私のTextEditandroid:padding="1dp"を単に追加すると問題が解決しました。

0

前述したように、ここでは実際のラインだ
アンドロイド:textCursorDrawableは=「@ヌル」

<EditText 
       android:textCursorDrawable="@null" 
       android:imeOptions="actionNext" 
       android:id="@+id/edSMobile" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"      
       android:background="@drawable/edit_corner"      
       android:inputType="phone" /> 
関連する問題