1,先在xml页面绑定每个电话拨号键的id 然后添加监听事件,在点击监听事件时候通过String字符串叠加的方式让电话号得以叠加到一起
2.注意,拨号键盘中有删除数字功能键,此方法用来substringbuffer来删除最后的数字,然后添加至监听器中
private ImageView btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12,btn_call,btn_det;
private EditText ed;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.phone_aicivity); btn1 = (ImageView)findViewById(R.id.btn_1); btn2 = (ImageView) findViewById(R.id.btn_2); btn3 = (ImageView) findViewById(R.id.btn_3); btn4 = (ImageView) findViewById(R.id.btn_4); btn5 = (ImageView) findViewById(R.id.btn_5); btn6 = (ImageView) findViewById(R.id.btn_6); btn7 = (ImageView) findViewById(R.id.btn_7); btn8 = (ImageView) findViewById(R.id.btn_8); btn9 = (ImageView) findViewById(R.id.btn_9); btn10 = (ImageView) findViewById(R.id.btn_10); btn11 = (ImageView) findViewById(R.id.btn_11); btn12 = (ImageView) findViewById(R.id.btn_12); btn_call = (ImageView) findViewById(R.id.btn_send); ed = (EditText) findViewById(R.id.ed); btn_det = (ImageView) findViewById(R.id.btn_det); //添加监听事件 btn1.setOnClickListener(this); btn2.setOnClickListener(this); btn3.setOnClickListener(this); btn4.setOnClickListener(this); btn5.setOnClickListener(this); btn6.setOnClickListener(this); btn7.setOnClickListener(this); btn8.setOnClickListener(this); btn9.setOnClickListener(this); btn10.setOnClickListener(this); btn11.setOnClickListener(this); btn12.setOnClickListener(this); btn_call.setOnClickListener(this); ed.setOnClickListener(this); btn_det.setOnClickListener(this); } @Override public void onClick(View view) { String phoneNumber = new String(); phoneNumber = ed.getText().toString(); switch(view.getId()){ case R.id.btn_1: phoneNumber += 1; break; case R.id.btn_2: phoneNumber += 2; break; case R.id.btn_3: phoneNumber += 3; break; case R.id.btn_4: phoneNumber += 4; break; case R.id.btn_5: phoneNumber += 5; break; case R.id.btn_6: phoneNumber += 6; break; case R.id.btn_7: phoneNumber += 7; break; case R.id.btn_8: phoneNumber += 8; break; case R.id.btn_9: phoneNumber += 9; break; case R.id.btn_10: phoneNumber += "*"; break; case R.id.btn_11: phoneNumber += 0; break; case R.id.btn_12: phoneNumber += "#"; break; case R.id.btn_det: if(phoneNumber.length() > 0) phoneNumber = phoneNumber.substring(0,phoneNumber.length()-1); break; case R.id.btn_send: Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+phoneNumber)); startActivity(intent); break; } ed.setText(phoneNumber); }
}