2016-12-14 12 views
2

私はinputType = phoneを一貫して動作させようとしています。 1つのプロジェクトでは完全に機能しますが、他のプロジェクトでは機能しません。 「仕事」とは、数値が入力されると数値がフォーマットされないことを意味します。ここでは動作しないテストプロジェクトがあります。android inputType =電話が動作していません

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.jdot.testphoneinput2.MainActivity"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="phone" 
     android:ems="10" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" 
     android:id="@+id/editText" 
     android:hint="enter phone" /> 
</RelativeLayout> 

ここでは、クラスの宣言です:

package com.jdot.testphoneinput2; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
} 

注:

  1. それは私がAppCompatActivityとないこの同じプロジェクトを作成しましたAppCompatActivity
  2. から継承も作品のプロジェクトは
  3. 私は、プロジェクトのマニフェストとグラデーションを比較しましたそれはうまく動作しない。アクティビティ定義以外の重要な相違はありません。具体的には、バージョンはすべて同じです。
  4. 入力タイプを「パスワード」に変更しました。問題は電話の種類に特に関連しているように見えます。
  5. そうでないプロジェクトのように、電話フィールドアクティビティページの唯一の編集テキストです。アクティビティがロードされると、EditTextはフォーカスを取得します。ただし、softキーワードは、動作するプロジェクトによってのみ自動的に表示されます。他のプロジェクトでは、キーボードを表示するためにフィールドをタップする必要があります。すべてのプロジェクトで
  6. 、XMLのルート要素はRelativeLayout
  7. である私は、あなたはおそらく、あなたの活動にこのような何かを忘れているサムスンS7エッジに

答えて

5

をデバッグしています:

editText.addTextChangedListener(new PhoneNumberFormattingTextWatcher()); 

android:inputType="phone"は入力を書式設定しませんが、入力できるシンボルのセットを単純に制限します。

+0

右。私はそれを最初のプロジェクトに追加することを覚えていません。理解していないままコピーしなければなりません。とにかく、私をつかまえてくれてありがとう。 –

+0

うれしい私は助けることができました。 –

関連する問題