2012-07-11 69 views
0

我有如下所示的佈局。通常情況下,用戶只需填寫第一個框(etItemQty),然後可以保存數據 - 我如何阻止鍵盤允許用戶轉到「下一個」編輯框(這是etItemPrice)。我只希望用戶能夠專門點擊etItemPrice,如果他們想編輯它。在其他語言中,我不會給它一個tabStop位置 - 這可能嗎?如何停止從下一個文本視圖跳到下一個文本框?

<?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="fill_parent" > 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

         <LinearLayout 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:padding="5dp" > 

         <TextView 
          android:id="@+id/lbProducts" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/sm_lbProduct" 
          android:layout_weight="1" 
          android:textAppearance="?android:attr/textAppearanceMedium" /> 


         <Spinner 
          android:id="@+id/spinProducts" 
          android:layout_width="210dp" 
          android:layout_height="wrap_content" /> 

        </LinearLayout> 





       <LinearLayout 
         android:layout_width="321dp" 
         android:layout_height="wrap_content" 
         android:padding="5dp" > 

         <TextView 
          android:id="@+id/lbProductQty" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/sm_lbProductQty" 
          android:layout_weight="1" 
          android:textAppearance="?android:attr/textAppearanceMedium" /> 

         <EditText 
          android:id="@+id/etProductQty" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:width="50px" 
          android:inputType="phone" /> 

        </LinearLayout> 


         <LinearLayout 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:padding="5dp" > 

         <TextView 
          android:id="@+id/lbPrice" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_weight="1" 
          android:text="@string/sm_lbProductPrice" 
          android:textAppearance="?android:attr/textAppearanceMedium" /> 

         <EditText 
          android:id="@+id/etProductPriceExGST" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 

          android:width="100px" 

          android:inputType="numberDecimal" /> 

        </LinearLayout> 


        <LinearLayout 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:padding="5dp"> 

         <Button 
          android:id="@+id/cmdAddItem" 
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content" 
          android:layout_weight="1" 
          android:text="@string/sm_cmdAddProduct" /> 

        </LinearLayout> 


    <LinearLayout 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent"> 



     <ListView 
      android:id="@+id/listViewOrders" 
      android:layout_width="fill_parent" 
      android:layout_height="141dp" > 

     </ListView> 

    </LinearLayout> 









</LinearLayout> 

回答

0

試試這個

etItemQty.setOnEditorActionListener(new OnEditorActionListener() { 

    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     // TODO Auto-generated method stub 
     if(event.getKeyCode()==KeyEvent.KEYCODE_ENTER) 
     { 
      InputMethodManager imm = (InputMethodManager)getSystemService(
         Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(etItemQty.getWindowToken(), 0); 

     } 
     return false; 
    } 
}); 
+0

這是否只是關閉它,只有當用戶按下回車鍵 - 或者它在TextView的到達之前關閉它? – WaterBoy 2012-07-11 09:12:17

+0

當用戶按下輸入時它將關閉...您將如何知道用戶完成輸入? – 2012-07-11 09:21:18

+0

如果焦點永遠不會進入文本視圖,即「下一個」未出現在軟鍵盤上,那麼完美的是什麼。 – WaterBoy 2012-07-11 11:13:58

相關問題