将EditText转换为int?(机器人)

use*_*454 17 int android integer android-edittext

我想知道如何将edittext输入转换为int,我让用户输入一个数字,而不是将它除以8.

MainActivity.java

@SuppressWarnings("unused")
public void calcSpeed(View view)
{       
    setContentView(R.layout.activity_speed);     

    final TextView mTextView = (TextView) findViewById(R.id.textView3);
    mTextView.setText("You should be getting: " +netSpedCalcd);
}
Run Code Online (Sandbox Code Playgroud)

activity_main.xml中

    <EditText
    android:id="@+id/editText1" 
    android:inputType="number"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="62dp"
    android:ems="10" >
Run Code Online (Sandbox Code Playgroud)

Har*_*hid 27

你必须使用.

String value= et.getText().toString();
int finalValue=Integer.parseInt(value);
Run Code Online (Sandbox Code Playgroud)

如果您只允许输入数字,则设置EditText属性.

android:inputType="number"
Run Code Online (Sandbox Code Playgroud)

如果这有用,那么接受否则你的评论.


And*_*dan 8

我现在很困很累,但这行不通?:

EditText et = (EditText)findViewById(R.id.editText1);
String sTextFromET = et.getText().toString();
int nIntFromET = new Integer(sTextFromET).intValue();
Run Code Online (Sandbox Code Playgroud)

或者

try
{
    int nIntFromET = Integer.parseInt(sTextFromET);
}
catch (NumberFormatException e)
{
    // handle the exception
}
Run Code Online (Sandbox Code Playgroud)


Jas*_*key 8

使用Integer.parseInt,并确保在输入不是整数时捕获它抛出的NumberFormatException.


小智 5

尝试这个,

EditText x = (EditText) findViewById(R.id.editText1);
int n = Integer.parseInt(x.getText().toString());
Run Code Online (Sandbox Code Playgroud)