返回列表 發帖
  1. import android.Manifest;
  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.net.Uri;
  7. import android.support.v4.app.ActivityCompat;
  8. import android.support.v4.content.ContextCompat;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.view.View.OnClickListener;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15. import android.widget.Switch;
  16. import android.widget.TextView;

  17. import java.util.Stack;

  18. public class MainActivity extends AppCompatActivity {
  19.     Button btn1;
  20.     Button btn2;
  21.     Button btn3;
  22.     Button btn4;
  23.     Button btn5;
  24.     Button btn6;
  25.     Button btn7;
  26.     Button btn8;
  27.     Button btn9;
  28.     Button btn0;
  29.     Button btn11;
  30.     Button btn12;
  31.     Button cal;
  32.     Button back;
  33.     EditText et;
  34.     Stack<String> stack = new Stack();

  35.     private final static String CALL = "android.intent.action.CALL";

  36.     @Override
  37.     protected void onCreate(Bundle savedInstanceState) {
  38.         super.onCreate(savedInstanceState);
  39.         setContentView(R.layout.activity_main);
  40.         init();

  41.     }
  42.     OnClickListener listener = new OnClickListener() {
  43.         @Override
  44.         public void onClick(View v) {
  45.             Button tmp = findViewById(v.getId());
  46.             et.setText(et.getText().toString() + tmp.getText().toString());
  47.             stack.push(tmp.getText().toString());
  48.         }
  49.     };




  50.     public void init() {
  51.         btn1 = findViewById(R.id.button);
  52.         btn2 = findViewById(R.id.button2);
  53.         btn3 = findViewById(R.id.button3);
  54.         btn4 = findViewById(R.id.button4);
  55.         btn5 = findViewById(R.id.button5);
  56.         btn6 = findViewById(R.id.button6);
  57.         btn7 = findViewById(R.id.button7);
  58.         btn8 = findViewById(R.id.button8);
  59.         btn9 = findViewById(R.id.button9);
  60.         btn0 = findViewById(R.id.button0);
  61.         btn11 = findViewById(R.id.button10);
  62.         btn12 = findViewById(R.id.button12);
  63.         cal = findViewById(R.id.call);
  64.         et = findViewById(R.id.editText);
  65.         back = findViewById(R.id.button15);

  66.         btn1.setOnClickListener(listener);
  67.         btn2.setOnClickListener(listener);
  68.         btn3.setOnClickListener(listener);
  69.         btn4.setOnClickListener(listener);
  70.         btn5.setOnClickListener(listener);
  71.         btn6.setOnClickListener(listener);
  72.         btn7.setOnClickListener(listener);
  73.         btn8.setOnClickListener(listener);
  74.         btn9.setOnClickListener(listener);
  75.         btn0.setOnClickListener(listener);
  76.         btn11.setOnClickListener(listener);
  77.         btn12.setOnClickListener(listener);

  78.         back.setOnLongClickListener(new View.OnLongClickListener() {
  79.             @Override
  80.             public boolean onLongClick(View v) {
  81.                 et.setText("");
  82.                 return false;
  83.             }
  84.         });
  85.         back.setOnClickListener(new OnClickListener() {
  86.             @Override
  87.             public void onClick(View v) {
  88.                
  89.                     stack.pop();
  90.                     String st ="";
  91.                     for(String data:stack)
  92.                     {
  93.                         st += data;
  94.                     }
  95.                     et.setText(st);





  96.             }
  97.         });
  98.         cal.setOnClickListener(new OnClickListener() {
  99.             @Override
  100.             public void onClick(View v) {
  101.                 if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
  102.                         Manifest.permission.CALL_PHONE)) {
  103.                     new AlertDialog.Builder(MainActivity.this)
  104.                             .setMessage("我真的沒有要做壞事, 給我權限吧?")
  105.                             .setPositiveButton("OK", new DialogInterface.OnClickListener() {
  106.                                 @Override
  107.                                 public void onClick(DialogInterface dialog, int which) {
  108.                                     ActivityCompat.requestPermissions(MainActivity.this,
  109.                                             new String[]{Manifest.permission.CALL_PHONE},
  110.                                             10);
  111.                                     Intent call = new Intent(CALL, Uri.parse("tel:" + et.getText()));
  112.                                     startActivity(call);
  113.                                 }
  114.                             })
  115.                             .setNegativeButton("No", new DialogInterface.OnClickListener() {
  116.                                 @Override
  117.                                 public void onClick(DialogInterface dialog, int which) {
  118.                                     finish();
  119.                                 }
  120.                             })
  121.                             .show();
  122.                 } else {

  123.                     ActivityCompat.requestPermissions(MainActivity.this,
  124.                             new String[]{Manifest.permission.CALL_PHONE, Manifest.permission.CALL_PHONE},
  125.                             10);
  126.                     Intent call = new Intent(CALL, Uri.parse("tel:" + et.getText()));
  127.                     startActivity(call);
  128.                 }

  129.             }
  130.         });

  131.     }




  132. }
複製代碼

TOP

返回列表