2012-07-26 73 views
3

在我的Android項目我想類型PERSONNAME其中默認大寫鎖定被激活的文本框,但是這個代碼不工作。機器人 - 文本輸入型的人的名字不工作

<EditText 
    android:id="@+id/txt_user_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="textPersonName" > 

    <requestFocus /> 
</EditText> 

爲什麼這可能不起作用?

編輯:這裏是XML代碼,以顯示該文件是

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

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="@string/t_registration" 
     android:textSize="25dp" 
     android:textStyle="bold" 
     android:paddingTop="7dp" 
     android:paddingBottom="7dp"/> 


    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:stretchColumns="1" > 
     <TableRow 
      android:id="@+id/tableRow0" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_user_name" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="User Name * : " /> 


      <EditText 
       android:id="@+id/txt_user_name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:inputType="textPersonName" > 

       <requestFocus /> 
      </EditText> 



     </TableRow> 
     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_first_name" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="First Name * : " /> 

      <EditText 
       android:id="@+id/txt_first_name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:inputType="textPersonName" > 
      </EditText> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_last_name" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="Last Name * : " /> 

      <EditText 
       android:id="@+id/txt_last_name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:inputType="textPersonName" > 
      </EditText> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_email_address" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="Email Address: " /> 

      <EditText 
       android:id="@+id/txt_email_address" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:inputType="textEmailAddress" > 

      </EditText> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_school_id" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="school_id * : " /> 

      <EditText 
       android:id="@+id/txt_school_id" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:inputType="text" > 
      </EditText> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow5" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_password" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="Password * : " /> 

      <EditText 
       android:id="@+id/txt_password" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:inputType="textPassword" > 

      </EditText> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_confirm_password" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.0" 
       android:text="Confirm password * : " /> 

      <EditText 
       android:id="@+id/txt_password2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@android:drawable/editbox_background" 
       android:inputType="textPassword" >" 
      </EditText> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow7" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/lbl_image_select" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight="0.0" 
       android:text="Image Select * : " /> 

      <Button 
       android:id="@+id/b_image_browse" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_margin="1dp" 
       android:padding="10dp" 
       android:text="@string/b_image_browse" 
       android:textSize="15dp" 
       android:onClick="b_image_browse_action" /> 

     </TableRow>   

    </TableLayout> 

    <EditText 
     android:id="@+id/txt_image_name" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:hint="Image File Path" 
     android:inputType="text" > 
    </EditText> 


    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     > 


     <Button 
      android:id="@+id/b_reg_Cancel" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:layout_margin="10dp" 
      android:layout_marginLeft="30dp" 
      android:padding="10dp" 
      android:text="@string/b_reg_Cancel" 
      android:textSize="15dp" 
      android:onClick="b_reg_Cancel_action" /> 

     <Button 
      android:id="@+id/b_reg_Submit" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 
      android:layout_margin="10dp" 
      android:layout_marginRight="100dp" 
      android:padding="10dp" 
      android:text="@string/b_reg_Submit" 
      android:textSize="15dp" 
      android:onClick="b_reg_Submit_action"/> 

    </RelativeLayout> 



</LinearLayout> 
+0

我不認爲這是問題,因爲你發佈的代碼看起來好像沒什麼問題。可能是你的xml中的其他東西?你能發佈整個事情嗎? – 0gravity 2012-07-26 02:01:27

+0

你想要整件事還是隻是第一個字母? – LuxuryMode 2012-07-26 02:07:23

+0

每一個字 – omega 2012-07-26 02:24:17

回答

1

如果試圖顯示的人名作爲普通的東西,試試這個: android:capitalize="words"。如果要全部大寫,您可以更改wordscharacters或做這樣LuxuryMode先生說!

編輯:

您應該刪除android:inputType="textPersonName"場。它會工作!

+0

這沒有工作 – omega 2012-07-26 02:52:27

+1

'android:capitalize'已被棄用。來自@ViliusK的解決方案適合我。 – Josh 2015-09-15 18:59:52

0

如果你想全部大寫,只需使用android:textAllCaps="true"

+1

這是值得注意的是,這僅僅是在API的支持14+。支持以前的版本需要製作自己的'EditText'擴展名,它在更改時將字符串轉換爲大寫字母。 – Eric 2012-07-26 02:36:12

+0

我的android的目標是2.1 – omega 2012-07-26 02:52:19

11

使用

android:inputType="textPersonName|textCapWords" 

僅使用"textPersonName"是不夠的這麼名字的第一個字母將被資本化。

android:inputType="textPostalAddress|textCapSentences" 
1

我用這對於帽的話,沒有建議

android:inputType="textCapWords|textNoSuggestions" 

例如:

與郵政地址

同樣Tom Hanks