2011-08-13 16 views
3

xmlファイルに特定の幅のEditTextビューがあります。長い(長いテキストを入力した後、Android:EditTextのテキストを最初から表示

android:singleLine="true" 

しかし:入力されたテキストが長い私のエディットテキストの幅を超える場合、テキストは使用してラップアラウンドしないように Iは、1行にそれを余儀なくされています編集テキストの幅よりも大きい)、テキストの最後の部分を表示します。ユーザーがテキストの入力を完了した後、最初から表示されるテキストが必要です。 たとえば、4文字しか受け付けない幅の編集テキストがあるとします。 EditTextボックスに「ABCDEFG」と入力すると「DEFG」が表示されますが、「ABCD」が表示されます。 どのようにこれを行うことができます。ここ

はXMLに私のEditTextです:助けを

<EditText 
    android:id="@+id/fileNameBox" 
    android:layout_width = "0dp" 
    android:layout_height="40dp" 
    android:gravity="left" 
    android:ellipsize="start" 
    android:singleLine="true" 
    android:textSize="14sp" 
    android:layout_weight="0.5" 
    android:layout_marginBottom="1dip"/> 

感謝。

TJ

答えて

4

フォーカス変更リスナーをEditTextに設定すると、あなたのニーズを満たす必要があります。

mEdittext.setOnFocusChangeListener(new OnFocusChangeListener() { 

@Override 
    public void onFocusChange(View v, boolean hasFocus) { 
    if (hasFocus == false) { // lost focus 
     mEdittext.setSelection(0,0); 
    } 
} 
}); 
+0

不運にもうまくいきませんでした。 – TJ1

+0

実際に私は上記のコマンドを "Oncreate"の中に追加しました。もし誰かがこのコードを使用したいのであれば、上記のコードの中で "}"と "patamtecis")をつける必要があることに注意してください。 – TJ1

0

あなたはandroid:ellipsizeを試みたことがありますか?

+0

はい私はそれを試しても動作しません。 – TJ1

0

android:ellipsizeプロパティを見て、それを 'end'に設定してください。

+0

私はそれをうんざりしていて動作しません。 – TJ1

+0

実際に私は '終わり'と '始まり'の両方を試してみましたが、どれも働いていませんでした。 – TJ1

関連する問題