- import android.Manifest;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.net.Uri;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Switch;
- import android.widget.TextView;
- import java.util.Stack;
- public class MainActivity extends AppCompatActivity {
- Button btn1;
- Button btn2;
- Button btn3;
- Button btn4;
- Button btn5;
- Button btn6;
- Button btn7;
- Button btn8;
- Button btn9;
- Button btn0;
- Button btn11;
- Button btn12;
- Button cal;
- Button back;
- EditText et;
- Stack<String> stack = new Stack();
- private final static String CALL = "android.intent.action.CALL";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- init();
- }
- OnClickListener listener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- Button tmp = findViewById(v.getId());
- et.setText(et.getText().toString() + tmp.getText().toString());
- stack.push(tmp.getText().toString());
- }
- };
- public void init() {
- btn1 = findViewById(R.id.button);
- btn2 = findViewById(R.id.button2);
- btn3 = findViewById(R.id.button3);
- btn4 = findViewById(R.id.button4);
- btn5 = findViewById(R.id.button5);
- btn6 = findViewById(R.id.button6);
- btn7 = findViewById(R.id.button7);
- btn8 = findViewById(R.id.button8);
- btn9 = findViewById(R.id.button9);
- btn0 = findViewById(R.id.button0);
- btn11 = findViewById(R.id.button10);
- btn12 = findViewById(R.id.button12);
- cal = findViewById(R.id.call);
- et = findViewById(R.id.editText);
- back = findViewById(R.id.button15);
- btn1.setOnClickListener(listener);
- btn2.setOnClickListener(listener);
- btn3.setOnClickListener(listener);
- btn4.setOnClickListener(listener);
- btn5.setOnClickListener(listener);
- btn6.setOnClickListener(listener);
- btn7.setOnClickListener(listener);
- btn8.setOnClickListener(listener);
- btn9.setOnClickListener(listener);
- btn0.setOnClickListener(listener);
- btn11.setOnClickListener(listener);
- btn12.setOnClickListener(listener);
- back.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- et.setText("");
- return false;
- }
- });
- back.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
-
- stack.pop();
- String st ="";
- for(String data:stack)
- {
- st += data;
- }
- et.setText(st);
- }
- });
- cal.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
- Manifest.permission.CALL_PHONE)) {
- new AlertDialog.Builder(MainActivity.this)
- .setMessage("我真的沒有要做壞事, 給我權限吧?")
- .setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- ActivityCompat.requestPermissions(MainActivity.this,
- new String[]{Manifest.permission.CALL_PHONE},
- 10);
- Intent call = new Intent(CALL, Uri.parse("tel:" + et.getText()));
- startActivity(call);
- }
- })
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- finish();
- }
- })
- .show();
- } else {
- ActivityCompat.requestPermissions(MainActivity.this,
- new String[]{Manifest.permission.CALL_PHONE, Manifest.permission.CALL_PHONE},
- 10);
- Intent call = new Intent(CALL, Uri.parse("tel:" + et.getText()));
- startActivity(call);
- }
- }
- });
- }
- }
複製代碼 |