2016-10-04 77 views
0

我有一个EditText字段,其中包含inputType numberDecimal。我发现在我的代码中的字段:带有inputType数字的Android EditText字段十进制设置默认值

EditText mField = (EditText) v.findViewById(R.id.fieldName); 

我想在渲染前设置此字段值。我试图setText(),应用程序崩溃,因为我不能在类型numberDecimal的字段上设置字符串值。

编辑: 我需要一个与KeyListener只包含数字和点的输入字段,我也想传递默认的double/float/int值。

答:我使用了错误的字段ID。

+0

你能后的实际代码你在哪里设置值进入编辑文字?我想你可能在解析值的时候犯了一些错误。注意,它只接受charsequence。 – LoveForDroid

+0

我想这样的事情:mField.setText(String.valueOf(230.3)); @LoveForDroid – Seekerakos

+0

你可以检查并从你的logcat发布崩溃错误消息。还要提到代码中的哪一行,它是指向的。 – LoveForDroid

回答

0

如果只是硬编码值,屏幕上的负荷,你为什么不只是这样做:

mField.setText("230.3"); 

mField.setOnEditorActionListener(new EditText.OnEditorActionListener() 
     { 
      public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) 
      { 
       if (i == EditorInfo.IME_ACTION_DONE) 
       { 
        // Done button pressed 
       } 
       return false; 
      } 
     }); 
+0

否,它不起作用。它使应用程序崩溃。 – Seekerakos

+0

请发布布局xml和相应的android代码。很难确定你可能犯的错误。由于我发布的这个代码应该是有效的。 – LoveForDroid

+0

我发现我从父布局中使用组件ID的错误。很失望。非常感谢您的宝贵时间。 – Seekerakos