如何把编辑文本值对话框(how to put values of edit texts in the

2019-09-26 15:44发布

我想给在一个单独的对话框中的输出,这是由在的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)));
    }
}

Answer 1:

好吧,试试这个方法:

首先,声明你的两个EditText上(您想总结,减法和乘法值等)的onCreate()您的MainActivity的方法内的最后:

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);
        } 

    }
});


Answer 2:

您可以将用户的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())


Answer 3:

因为如果你想翻译你的应用程序,你没有选择不同的语言,使用更好的做法,先不写代码味精的strings.xml文件来存储您的字符串

好的方法是你的味精添加到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);


文章来源: how to put values of edit texts in the dialogue box