我想通过使用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)));
}
}
答案 0 :(得分:1)
您可以使用String.Format格式化输入参数的字符串。
alertDialogBuilder.setMessage(String.format("(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"),editText1.getText().toString(), editText2.getText().toString(), editText3.getText().toString())
答案 1 :(得分:0)
好的,试试这个:
首先,在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);
}
}
});
答案 2 :(得分:0)
首先不要在代码中编写msg,因为如果你想将你的应用程序翻译成不同的语言你没有选项,那么更好的做法是使用strings.xml文件存储你的字符串
好的方法是将你的msg添加到strings.xlm文件
<string name="myMsg">The code should be like as follows)\n\n sum of entered number is:%1$s \n multiply of entered number is:%2$s\n subtraction of entered number is:%3$s</string>
如果你想在代码中使用它:
String msg = String.format(getResources().getString(R.string.myMsg), editText1,editText2,editText3));
并添加到对话框:
alertDialogBuilder.setMessage(msg);