我试图制作一个基于两个editText
来电拨打电话的应用。
实例为editText1
和editText2
。填写完成后,点击添加pin到手机。我能够接听电话,但只能:
*215*null*null
出现了。
所以,我的问题是,如果我想存储edit Text1
中输入的内容以存储在firstNumber
和editText2
中以存储在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#
答案 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