java - 如何获取 Android EditText 组件的整数值?

标签 java android textview

我正在构建一个应用程序,它根据 A、B 和 C 的用户输入来求解二次公式。我有一个问题。 A、B、C 都是整数,但它们需要取一个 EditText 组件 editText1(和 2、3)的值,所以公式有 A、B、C 才能运行。

如何获取值?这是我的代码,其中缺少此部分:

    double root1=0;
    double root2=0;
    double discriminant;
    int A;
    int B;
    int C;  
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
                /** Called when the activity is first created. */
            //reset button will be a menu option

        final TextView textView6 = (TextView) findViewById(R.id.textView6);
        EditText inputA = (EditText)findViewById(R.id.editText1) ;
        EditText inputB = (EditText)findViewById(R.id.editText2);
        EditText inputC = (EditText)findViewById(R.id.editText3); 
        Button calcbutton = (Button)findViewById(R.id.calcbutton); 


        calcbutton.setOnClickListener(new View.OnClickListener() { // when calculate is clicked 

            public void onClick(View v) {
                // TODO Auto-generated method stub

                discriminant = Math.sqrt((B*B)-(4*A*C));

                if(discriminant>0){
                    root1 =  ((-B + discriminant)/2*A);
                    root2 =  ((-B - discriminant)/2*A);

                    // set textview6 to answer above    

                    textView6.setTag(root1 );
                    textView6.setTag(root2);
                    }

                if(discriminant==0){

                    root1=(int) ((-B + discriminant)/2*A);
                    textView6.setTag(root1);
                }

                if(discriminant<0){
                    textView6.setText("This equation has imaginary roots");
                    // equation has imaginary roots
                }


            }
        });
     }
}

最佳答案

如果您阅读 API 文档,您会发现可以使用 EditText#getText() 访问 EditText 中的值.

public void onClick(View v) {
    A = Double.parseDouble(inputA.getText().toString());
    B = Integer.parseInt(inputB.getText().toString());
    C = Integer.parseInt(inputC.getText().toString());

    discriminant = Math.sqrt((B*B)-(4*A*C));
    // etc.
}

关于java - 如何获取 Android EditText 组件的整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129448/

相关文章:

android - 如何清除 TextView 的值?

ios - Swift - Textview 识别点击的单词不起作用

android - 相对布局中重叠的 TextView

Java getClassLoader().getResourceAsStream(文件名)

Java8 从类中检索 lambda setter

android - SDL 初始化失败,原因是 : No available video device in ubuntu 12. 04 LTS

android - 在 SQLITE 中将字符串转换为日期

android.util.LruCache.put 中的 java.lang.NullPointerException ( Android )

java - 无法运行自解压安装程序-无法访问jarfile C :\Users\Ray\AppData\Local\Temp\RarSFX0\install. jar

Android AsyncTask 没有更新进度条