Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android studio中添加方法?_Java_Android_Android Studio - Fatal编程技术网

Java 如何在android studio中添加方法?

Java 如何在android studio中添加方法?,java,android,android-studio,Java,Android,Android Studio,这是我的密码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText txtFirstNum = (EditText) findViewById(R.id.txtFirstNum);

这是我的密码:

    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText txtFirstNum = (EditText) findViewById(R.id.txtFirstNum);
        final EditText txtSecondNum = (EditText) findViewById(R.id.txtSecondNum);
        final TextView txtResult = (TextView) findViewById(R.id.lblResult);

        Button btnAdd = (Button) findViewById(R.id.btnAdd);
        btnAdd.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {

                int num1 = Integer.parseInt(txtFirstNum.getText().toString());
                int num2 = Integer.parseInt(txtSecondNum.getText().toString());
                int result = num1 + num2;
                txtResult.setText(result + "");
            }
        });

        Button btnSub = (Button) findViewById(R.id.btnSub);
        btnSub.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {


                int num1 = Integer.parseInt(txtFirstNum.getText().toString());
                int num2 = Integer.parseInt(txtSecondNum.getText().toString());
                int result = num1 - num2;
                txtResult.setText(result + "");
            }
        });
    }
}
我本质上想做的是使用一个我可以调用的方法,而不是像这样重复相同的代码行(这不起作用):


您必须创建类的num1和num2属性,为什么不创建两个类似于
getNumber
的方法,而不是
void

private int getFirstNumber()
{
   return Integer.parseInt(txtFirstNum.getText().toString());
}

private int getSecondNumber()
{
   return Integer.parseInt(txtFirstNum.getText().toString());
}
并将其用于:

    @Override
    public void onClick(View v)
    {
        int result = getFirstNumber() + getSecondNumber();
        txtResult.setText(result + "");
    }

这会管用的,但我猜,你有点被范围弄糊涂了。在原始代码中,num1和2是局部变量,它们不能像这样直接更新,实例或类变量可以是method应该是
int-doOperation(int-num1,int-num2,int-operationType){switch(operationType){case ADD:return num1+num2;case SUB:num1-num2;…..等等}
。。。使用按钮标签中的
operationType
,您可以使用1
OnClickListener
private int getFirstNumber()
{
   return Integer.parseInt(txtFirstNum.getText().toString());
}

private int getSecondNumber()
{
   return Integer.parseInt(txtFirstNum.getText().toString());
}
    @Override
    public void onClick(View v)
    {
        int result = getFirstNumber() + getSecondNumber();
        txtResult.setText(result + "");
    }