2011-07-11 4 views
1

EditTextコントロールの入力タイプをandroid:inputType = "textCapCharacters"として設定しているレイアウトがあります。このコントロールでうまく動作しますが、大文字の属性を他のアプリケーションに持っていても固執します。Android EditTextコントロールで大文字になってしまいました

2.1 Heroと2.3 Wildfireの場合のようです。

どのように私はそれを解くことができるか、キーボードをデフォルトモードに戻すための提案はありますか?

はここ

がスタック大文字の挙動を示すコードスニペットです、ありがとうございました。私はこの問題を抱えている唯一の人だとは想像できません。

住所1行目には大文字で入力しても問題ありません。ピントを合わせると、キーボードは大文字に正しく切り替わりますが、別のアプリケーションに行っても、他のどのコントロールにフォーカスしていても、大文字で固定されます(たとえば、アドレス行1に戻ると)。

エミュレータではコードが期待通りに機能しているように見えますが、大文字でロックする物理デバイス上にのみ存在することに注意してください。

私は今、ヒーローで、少なくとも問題は在庫キーボードにしかないことを知っています。スウィフトキーのキーボードを使用すると、すべてがうまくいくように見えます。

私はこの質問を2つのフォーラムに投稿しましたが、Stackoverflowはこのタイプのクエリの推奨事項ですが、8日後には私がここで試してみることのできる提案はありませんでした。より多くの情報、異なるタグ、または他の場所での投稿が私にとってより良い選択肢になるならば、私はそれらの提案も聞いてうれしいです。

エラーを表す完全かつ完全なコードは、以下に含まれています。

何か提案がありますか?あなたは、代わりにandroid:inputType="textCapCharacters"を使用しての資本ケースとキーボードを表示したい場合は

import android.app.Activity; 
import android.os.Bundle; 

public class Main extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" android:layout_width="fill_parent"> 



    <TableLayout android:layout_width="fill_parent" android:id="@+id/tableLayout1" 
     android:layout_height="fill_parent" android:layout_margin="5dp" 
     android:stretchColumns="1"> 

     <TableRow> 
      <EditText android:textSize="17sp" android:layout_height="39dp" 
       android:layout_width="fill_parent" android:id="@+id/address" 
       android:hint="Address Line 1" android:layout_span="3" 
       android:inputType="textCapWords"></EditText> 
     </TableRow> 

     <TableRow> 
      <EditText android:inputType="textCapCharacters" 
       android:textSize="17sp" android:id="@+id/postcode" 
       android:layout_height="39dp" android:hint="Postcode" 
       android:layout_weight="1" android:layout_width="0dip"></EditText> 
      <CheckBox android:text="Check Me" 
       android:layout_height="39dp" android:id="@+id/checkme" 
       android:textSize="12sp" android:layout_weight="1" 
       android:layout_span="2" android:layout_width="0dip" 
       android:layout_gravity="center"></CheckBox> 
      <TextView android:layout_weight="1" android:layout_width="0dip"></TextView> 
     </TableRow> 
    </TableLayout> 
</LinearLayout> 
+0

解決策が見つかりませんでした:( – ZZZ

答えて

0

、あなたはandroid:textAllCaps="true"を使用することができます。それであなたは大文字の書式に固執しません。入力が大文字であることを確認するには、検索テキストからtoUpperCase()メソッドを呼び出すだけで、EditTextから呼び出すことができます。これについてあなたの考えを教えてください。 Check this link for more clarity.

関連する問題