我想通过使用在Edittext中输入的值,详细给出用户在EditText中输入的输出,该输出在单独的对话框中显示。任何帮助将不胜感激。
这是代码:
EditText editText1,editText2,editText3;
Button btn,btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn2 = (Button) findViewById(R.id.btn2);
editText1 = (EditText) findViewById(R.id.editText2);
editText2 = (EditText) findViewById(R.id.editText3);
editText3 = (EditText) findViewById(R.id.editText4);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
String s = " (Result) ";
alertDialogBuilder.setTitle("Detailed Output is");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setMessage("(The code should be like as follows)\n\n"+"sum of entered number is:"+s+"\n"+"multiply of entered number is:"+s+"\n"+"subtraction of entered number is:"+s)
.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
});
}
public void calculate() {
String a = editText1.getText().toString();
String b = editText2.getText().toString();
editText3.setText(String.valueOf(Integer.parseInt(a)+ Integer.parseInt(b))+"\n"+String.valueOf(Integer.parseInt(a)* Integer.parseInt(b))+"\n"+String.valueOf(Integer.parseInt(a)-Integer.parseInt(b)));
}
}
最佳答案
好的,尝试这种方式:
首先,在MainActivity的onCreate()方法中声明两个EditText(要对它们进行求和,减去和乘以等)作为final:
final EditText editText1 = (EditText) findViewById(R.id.editText2);
final EditText editText2 = (EditText) findViewById(R.id.editText3);
其次,为您的
btn2.setOnClickListener
尝试以下代码:btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
int myNum_one, myNum_two, myNum_three;
try {
myNum_one = Integer.parseInt(editText1.getText().toString());
myNum_two = Integer.parseInt(editText2.getText().toString());
String s = "Sum of entered number is: %d \n multiply of entered number is: %d \n subtraction of entered number is: %d";
int sum = myNum_one + myNum_two;
int multiply = myNum_one * myNum_two;
int subtraction = myNum_one - myNum_two;
alertDialogBuilder.setTitle("Detailed Output is");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setMessage(String.format(s, sum, multiply, subtraction))
.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
} catch(NumberFormatException nfe) {
Log.d("TAG","Could not parse " + nfe);
}
}
});