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
,您可以使用1OnClickListener
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 + "");
}