将2 EditText链接到全局变量和按钮以拨打电话

时间:2016-07-15 23:24:32

标签: android button android-edittext

我试图制作一个基于两个editText来电拨打电话的应用。

实例为editText1editText2。填写完成后,点击添加pin到手机。我能够接听电话,但只能:

*215*null*null 

出现了。

所以,我的问题是,如果我想存储edit Text1中输入的内容以存储在firstNumbereditText2中以存储在secondNumber中,我该怎么办? ?

此外,如何显示#字符?

所以,我想要的结果是:

*215*firstNumber*secondNumber#

将在电话上显示。

public class Main2Activity extends AppCompatActivity {

    EditText firstNumber;
    EditText secondNumber;
    Button   btnAdd;

        @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);


        btnAdd.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try {

                    firstNumber = (EditText)findViewById(R.id.editText2);
                    secondNumber = (EditText)findViewById(R.id.editText3);
                    btnAdd = (Button)findViewById(R.id.button5);


                    Toast.makeText(Main2Activity.this,
                    "before the call", Toast.LENGTH_LONG).show();


                   Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:*215*" + firstNumber + "*" + secondNumber + "#" ));
                   startActivity(intent);
               } catch (Exception e) {


                }
            }
        });

    }
}

现在我们已经完成了使用这个方法`

            public void onClick(View v {
            try{
            EditText et = (EditText) findViewById(R.id.editText2);
            EditText et2 = (EditText) findViewById(R.id.editText5);

            String text= et.getEditableText().toString();
            String text2 =et2.getEditableText().toString();


            Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:*215*" + text + "*" + text2 + "#"));
            startActivity(intent);


        } catch (Exception e) {
        }
    }

`我想要做的是在输出的末尾添加Pawn标志或hash标签。例如

* 215 * text * text2后跟hashtag或pawn sign# 但它完全只是在text2之后将它扔出窗外。

所以目前得到的是* 215 * text * text2我想要的是* 215 * text * text2#

2 个答案:

答案 0 :(得分:0)

要获取EditText中的实际文本,您需要使用:

firstNumber.getText().toString();
secondNumber.getText().toString();

编辑:使用Uri.encode()方法同时显示#符号

String phoneNumber = firstNumber.getText().toString() + secondNumber.getText().toString() + "#";
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+ Uri.encode(phoneNumber)));
startActivity(callIntent);

答案 1 :(得分:0)

非常感谢你。我采取了不同的路线,并以这种方式工作。其他一切都与问题相同。

再次感谢

public void onClick(View v){                 试试{

ImageView