2017-08-20 3 views
2

入力タイプがtextPasswordEditTextを使用しようとしています。このフィーチャーはアンドロイドバージョン6では動作しませんでしたが、フィールドに入力されているすべての文字がアンドロイドバージョン5と4.4でダブルタップで選択された状況に直面しました。 すべてのアンドロイドバージョンでこの機能を使用してください?AndroidのEditTextでテキストパスワードの入力タイプを選択してもダブルタップですべての文字が選択されない

これは私のxmlファイルです:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 


    <EditText 
     android:hint="Text Password Input Type" 
     android:inputType="textPassword" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

これが結果です:

enter image description here

+0

この問題はシミュレータのみで、実際のデバイスではないと思われます – VVB

+0

@VVBこの機能は、LollipopのSamsung Note 4とMarshmallow androidバージョンのNexus 5でチェックされています。同じ結果が生じました。 – Nava

答えて

0

一般的なアルゴリズムは次のようになります。

これは、それが設定されますdoes-何
private long timeLastClicked; 
private static final TIME_DOUBLE_CLICK_MS = 1000; 
private EditText passwordField; //should put the result of findViewById in here 

... 

myEditText.setOnClickListener(new OnClickListener() { 
    public void onClick(View view) { 
     long time = System.currentTimeMillis(); 
     if(time - timeLastClicked < TIME_DOUBLE_CLICK_MS) { 
      passwordField.setSelection(0,passwordField.getText().length()); 
     } 
     timeLastClicked = time; 
}); 

クリックリスナークリックが表示されたら、直前の別のクリックを既に見たかどうかを確認します。そうであれば、テキストをハイライトします。そうでない場合、あなたはしません。いずれにしても、このクリックの時間を節約するので、次回に比較することができます。

+0

このソリューションをテストしましたか?私のために働かなかった。問題はsetSelection()メソッドに関係しているようです。アルゴリズムが正しいためです。 – Nava

関連する問題