Board logo

標題: OnLongClickListener [打印本頁]

作者: 周政輝    時間: 2018-9-29 12:55     標題: OnLongClickListener

本帖最後由 周政輝 於 2018-10-6 11:49 編輯

以 OnClickListener 實作每點擊一次後退鍵減少一字元;以 OnLongClickListener 實作當按住後退鍵超過一秒則清空 TextView 上所有文字內容。

[attach]4880[/attach]

本帖隱藏的內容需要回復才可以瀏覽

作者: 黃茂勛    時間: 2018-9-29 21:55

[attach]4882[/attach]
新增代碼:
  1. public void delete(View view) {
  2.         //show.setText(show.getText().subSequence(0,show.getText().length()-1)); 字串切割法
  3.         if(show.getText().equals(""))  //防止空按錯誤
  4.         {
  5.             show.setText("");
  6.         }else {
  7.             st.pop();  //stak堆疊法
  8.             String output = "";
  9.             for (String str : st) {
  10.                 output += str;
  11.             }
  12.             show.setText(output);
  13.         }
  14.     }
  15.     Button.OnLongClickListener longClickListener = new View.OnLongClickListener() {
  16.         @Override
  17.         public boolean onLongClick(View v) {
  18.             show.setText("");
  19.             st.clear();
  20.             return true;
  21.         }
  22.     };
複製代碼

作者: 陳思惟    時間: 2018-10-6 11:13

本帖最後由 陳思惟 於 2018-10-6 11:14 編輯
  1. package com.example.student.myapplication;

  2. import android.content.Intent;
  3. import android.content.pm.PackageManager;
  4. import android.net.Uri;
  5. import android.support.v4.content.ContextCompat;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.TextView;

  11. import static android.Manifest.permission.*;

  12. public class MainActivity extends AppCompatActivity {


  13.     Button btn0;
  14.     Button btn1;
  15.     Button btn2;
  16.     Button btn3;
  17.     Button btn4;
  18.     Button btn5;
  19.     Button btn6;
  20.     Button btn7;
  21.     Button btn8;
  22.     Button btn9;
  23.     Button btn10;
  24.     Button btn11;
  25.     Button call;
  26.     Button back;
  27.     TextView number;
  28.     @Override
  29.     protected void onCreate(Bundle savedInstanceState) {
  30.         super.onCreate(savedInstanceState);
  31.         setContentView(R.layout.activity_main);
  32.         Init();
  33.     }


  34.     Button.OnClickListener listener = new View.OnClickListener() {

  35.         @Override
  36.         public void onClick(View v) {
  37.             Button tmp = (Button) findViewById(v.getId());
  38.             number.setText(number.getText().toString() + tmp.getText().toString());

  39.         }
  40.     };
  41.     Button.OnLongClickListener a01 = new View.OnLongClickListener() {
  42.         @Override
  43.         public boolean onLongClick(View v) {
  44.             return false;
  45.         }
  46.     };


  47.     private  void Init() {

  48.         btn0 = (Button) findViewById(R.id.button0);
  49.         btn0.setOnClickListener(listener);
  50.         btn1 = (Button) findViewById(R.id.button1);
  51.         btn1.setOnClickListener(listener);
  52.         btn2 = (Button) findViewById(R.id.button2);
  53.         btn2.setOnClickListener(listener);
  54.         btn3 = (Button) findViewById(R.id.button3);
  55.         btn3.setOnClickListener(listener);
  56.         btn4 = (Button) findViewById(R.id.button4);
  57.         btn4.setOnClickListener(listener);
  58.         btn5 = (Button) findViewById(R.id.button5);
  59.         btn5.setOnClickListener(listener);
  60.         btn6 = (Button) findViewById(R.id.button6);
  61.         btn6.setOnClickListener(listener);
  62.         btn7 = (Button) findViewById(R.id.button7);
  63.         btn7.setOnClickListener(listener);
  64.         btn8 = (Button) findViewById(R.id.button8);
  65.         btn8.setOnClickListener(listener);
  66.         btn9 = (Button) findViewById(R.id.button9);
  67.         btn9.setOnClickListener(listener);
  68.         btn10 = (Button) findViewById(R.id.button10);
  69.         btn10.setOnClickListener(listener);
  70.         btn11 = (Button) findViewById(R.id.button11);
  71.         btn11.setOnClickListener(listener);
  72.         call = (Button) findViewById(R.id.PhoneCall);
  73.         number = (TextView) findViewById(R.id.Number);
  74.         back=(Button) findViewById(R.id.back);
  75.         back.setOnClickListener(new View.OnClickListener(){
  76.             @Override
  77.             public void onClick(View v) {
  78.                 if(!number.getText().toString().equals(""))
  79.                     number.setText(number.getText().toString().substring(0, number.getText().toString().length()-1));
  80.             }
  81.         });
  82.         back.setOnLongClickListener(new View.OnLongClickListener(){
  83.             public boolean onLongClick(View v) {
  84.                 number.setText("");
  85.                 return true;
  86.             }
  87.         });
  88.     }

  89.     public void PhoneCall(View view) {
  90.         try {
  91.             Intent dial = new Intent();
  92.             dial.setAction("android.intent.action.CALL");
  93.             dial.setData(Uri.parse("tel:" + number.getText().toString()));
  94.             //startActivity(dial);
  95.             if (ContextCompat.checkSelfPermission(getApplicationContext(), CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
  96.                 startActivity(dial);
  97.             } else {
  98.                 requestPermissions(new String[]{CALL_PHONE}, 1);
  99.             }

  100.         }catch(Exception e)
  101.         {
  102.             number.setText(e.toString());
  103.         }

  104.     }
  105.     /*public void Back(View view) {
  106.         if(!number.getText().toString().equals(""))
  107.             number.setText(number.getText().toString().substring(0, number.getText().toString().length()-1));

  108.     }*/
  109. }
複製代碼

作者: 陳思惟    時間: 2018-10-6 11:41

  1. package com.example.student.myapplication;

  2. import android.content.Intent;
  3. import android.content.pm.PackageManager;
  4. import android.net.Uri;
  5. import android.support.v4.content.ContextCompat;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.TextView;

  11. import java.util.Stack;

  12. import static android.Manifest.permission.*;

  13. public class MainActivity extends AppCompatActivity {


  14.     Button btn0;
  15.     Button btn1;
  16.     Button btn2;
  17.     Button btn3;
  18.     Button btn4;
  19.     Button btn5;
  20.     Button btn6;
  21.     Button btn7;
  22.     Button btn8;
  23.     Button btn9;
  24.     Button btn10;
  25.     Button btn11;
  26.     Button call;
  27.     Button back;
  28.     TextView number;
  29.     Stack st=new Stack();
  30.     @Override
  31.     protected void onCreate(Bundle savedInstanceState) {
  32.         super.onCreate(savedInstanceState);
  33.         setContentView(R.layout.activity_main);
  34.         Init();
  35.     }


  36.     Button.OnClickListener listener = new View.OnClickListener() {

  37.         @Override
  38.         public void onClick(View v) {
  39.             Button tmp = (Button) findViewById(v.getId());
  40.             number.setText(number.getText().toString() + tmp.getText().toString());
  41.             st.push(tmp.getText().toString());

  42.         }
  43.     };
  44.     Button.OnLongClickListener a01 = new View.OnLongClickListener() {
  45.         @Override
  46.         public boolean onLongClick(View v) {
  47.             return false;
  48.         }
  49.     };


  50.     private  void Init() {

  51.         btn0 = (Button) findViewById(R.id.button0);
  52.         btn0.setOnClickListener(listener);
  53.         btn1 = (Button) findViewById(R.id.button1);
  54.         btn1.setOnClickListener(listener);
  55.         btn2 = (Button) findViewById(R.id.button2);
  56.         btn2.setOnClickListener(listener);
  57.         btn3 = (Button) findViewById(R.id.button3);
  58.         btn3.setOnClickListener(listener);
  59.         btn4 = (Button) findViewById(R.id.button4);
  60.         btn4.setOnClickListener(listener);
  61.         btn5 = (Button) findViewById(R.id.button5);
  62.         btn5.setOnClickListener(listener);
  63.         btn6 = (Button) findViewById(R.id.button6);
  64.         btn6.setOnClickListener(listener);
  65.         btn7 = (Button) findViewById(R.id.button7);
  66.         btn7.setOnClickListener(listener);
  67.         btn8 = (Button) findViewById(R.id.button8);
  68.         btn8.setOnClickListener(listener);
  69.         btn9 = (Button) findViewById(R.id.button9);
  70.         btn9.setOnClickListener(listener);
  71.         btn10 = (Button) findViewById(R.id.button10);
  72.         btn10.setOnClickListener(listener);
  73.         btn11 = (Button) findViewById(R.id.button11);
  74.         btn11.setOnClickListener(listener);
  75.         call = (Button) findViewById(R.id.PhoneCall);
  76.         number = (TextView) findViewById(R.id.Number);
  77.         back=(Button) findViewById(R.id.back);
  78.         back.setOnClickListener(new View.OnClickListener(){
  79.             @Override
  80.             public void onClick(View v) {
  81.                 if(!number.getText().toString().equals("")){
  82.                     st.pop();
  83.                     String out="";
  84.                     for (Object str : st) {
  85.                         out += str;
  86.                     }
  87.                     number.setText(out);
  88.                 }
  89.                     //number.setText(number.getText().toString().substring(0, number.getText().toString().length()-1));
  90.             }
  91.         });
  92.         back.setOnLongClickListener(new View.OnLongClickListener(){
  93.             public boolean onLongClick(View v) {
  94.                 number.setText("");
  95.                 while(!st.empty())
  96.                     st.pop();
  97.                 return true;
  98.             }
  99.         });
  100.     }

  101.     public void PhoneCall(View view) {
  102.         try {
  103.             Intent dial = new Intent();
  104.             dial.setAction("android.intent.action.CALL");
  105.             dial.setData(Uri.parse("tel:" + number.getText().toString()));
  106.             //startActivity(dial);
  107.             if (ContextCompat.checkSelfPermission(getApplicationContext(), CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
  108.                 startActivity(dial);
  109.             } else {
  110.                 requestPermissions(new String[]{CALL_PHONE}, 1);
  111.             }

  112.         }catch(Exception e)
  113.         {
  114.             number.setText(e.toString());
  115.         }

  116.     }
  117.     /*public void Back(View view) {
  118.         if(!number.getText().toString().equals(""))
  119.             number.setText(number.getText().toString().substring(0, number.getText().toString().length()-1));

  120.     }*/
  121. }
複製代碼

作者: 黃璽安    時間: 2018-10-6 11:59

  1. package com.example.student.myapplication;

  2. import android.content.Intent;
  3. import android.content.pm.PackageManager;
  4. import android.net.Uri;
  5. import android.support.v4.content.ContextCompat;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.TextView;

  11. import java.util.Stack;

  12. import static android.Manifest.permission.*;

  13. public class MainActivity extends AppCompatActivity {

  14.     Button btn0;
  15.     Button btn1;
  16.     Button btn2;
  17.     Button btn3;
  18.     Button btn4;
  19.     Button btn5;
  20.     Button btn6;
  21.     Button btn7;
  22.     Button btn8;
  23.     Button btn9;
  24.     Button btn10;
  25.     Button btn11;
  26.     Button call;
  27.     Button BACK;
  28.     TextView number;
  29.     Stack<String>st=new Stack();

  30.     @Override
  31.     protected void onCreate(Bundle savedInstanceState) {
  32.         super.onCreate(savedInstanceState);
  33.         setContentView(R.layout.activity_main);
  34.         Init();
  35.     }


  36.     Button.OnClickListener listener = new View.OnClickListener() {

  37.         @Override
  38.         public void onClick(View v) {
  39.             Button tmp = (Button) findViewById(v.getId());
  40.             number.setText(number.getText().toString() + tmp.getText().toString());
  41.             st.push(tmp.getText().toString());

  42.         }
  43.     };


  44.     private  void Init() {

  45.         btn0 = (Button) findViewById(R.id.button0);
  46.         btn0.setOnClickListener(listener);
  47.         btn1 = (Button) findViewById(R.id.button1);
  48.         btn1.setOnClickListener(listener);
  49.         btn2 = (Button) findViewById(R.id.button2);
  50.         btn2.setOnClickListener(listener);
  51.         btn3 = (Button) findViewById(R.id.button3);
  52.         btn3.setOnClickListener(listener);
  53.         btn4 = (Button) findViewById(R.id.button4);
  54.         btn4.setOnClickListener(listener);
  55.         btn5 = (Button) findViewById(R.id.button5);
  56.         btn5.setOnClickListener(listener);
  57.         btn6 = (Button) findViewById(R.id.button6);
  58.         btn6.setOnClickListener(listener);
  59.         btn7 = (Button) findViewById(R.id.button7);
  60.         btn7.setOnClickListener(listener);
  61.         btn8 = (Button) findViewById(R.id.button8);
  62.         btn8.setOnClickListener(listener);
  63.         btn9 = (Button) findViewById(R.id.button9);
  64.         btn9.setOnClickListener(listener);
  65.         btn10 = (Button) findViewById(R.id.button10);
  66.         btn10.setOnClickListener(listener);
  67.         btn11 = (Button) findViewById(R.id.button11);
  68.         btn11.setOnClickListener(listener);
  69.         call = (Button) findViewById(R.id.PhoneCall);
  70.         number = (TextView) findViewById(R.id.Number);
  71.         BACK = (Button) findViewById(R.id.BACK);
  72.         BACK.setOnLongClickListener(new View.OnLongClickListener() {
  73.             @Override
  74.             public boolean onLongClick(View v) {
  75.                 number.setText("");
  76.                 return false;
  77.             }
  78.         });
  79.         BACK.setOnClickListener(new View.OnClickListener() {
  80.             @Override
  81.             public void onClick(View v) {
  82.                 st.pop();
  83.                 String str = "";
  84.                 for (String data : st) {
  85.                     str += data;
  86.                 }
  87.                 number.setText(str);
  88.             }
  89.         });


  90.     }

  91.     public void Call(View view) {
  92.         try {
  93.             if (ContextCompat.checkSelfPermission(getApplicationContext(), CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
  94.                 Intent dial = new Intent();
  95.                 dial.setAction("android.intent.action.CALL");
  96.                 dial.setData(Uri.parse("tel:" + number.getText().toString()));
  97.                 startActivity(dial);
  98.             } else {
  99.                 requestPermissions(new String[]{CALL_PHONE}, 1);
  100.             }

  101.         }catch(Exception e)
  102.         {
  103.             number.setText(e.toString());
  104.         }

  105.     }
  106. }
  107. package com.example.student.myapplication;

  108. import android.content.Intent;
  109. import android.content.pm.PackageManager;
  110. import android.net.Uri;
  111. import android.support.v4.content.ContextCompat;
  112. import android.support.v7.app.AppCompatActivity;
  113. import android.os.Bundle;
  114. import android.view.View;
  115. import android.widget.Button;
  116. import android.widget.TextView;

  117. import java.util.Stack;

  118. import static android.Manifest.permission.*;

  119. public class MainActivity extends AppCompatActivity {

  120.     Button btn0;
  121.     Button btn1;
  122.     Button btn2;
  123.     Button btn3;
  124.     Button btn4;
  125.     Button btn5;
  126.     Button btn6;
  127.     Button btn7;
  128.     Button btn8;
  129.     Button btn9;
  130.     Button btn10;
  131.     Button btn11;
  132.     Button call;
  133.     Button BACK;
  134.     TextView number;
  135.     Stack<String>st=new Stack();

  136.     @Override
  137.     protected void onCreate(Bundle savedInstanceState) {
  138.         super.onCreate(savedInstanceState);
  139.         setContentView(R.layout.activity_main);
  140.         Init();
  141.     }


  142.     Button.OnClickListener listener = new View.OnClickListener() {

  143.         @Override
  144.         public void onClick(View v) {
  145.             Button tmp = (Button) findViewById(v.getId());
  146.             number.setText(number.getText().toString() + tmp.getText().toString());
  147.             st.push(tmp.getText().toString());

  148.         }
  149.     };


  150.     private  void Init() {

  151.         btn0 = (Button) findViewById(R.id.button0);
  152.         btn0.setOnClickListener(listener);
  153.         btn1 = (Button) findViewById(R.id.button1);
  154.         btn1.setOnClickListener(listener);
  155.         btn2 = (Button) findViewById(R.id.button2);
  156.         btn2.setOnClickListener(listener);
  157.         btn3 = (Button) findViewById(R.id.button3);
  158.         btn3.setOnClickListener(listener);
  159.         btn4 = (Button) findViewById(R.id.button4);
  160.         btn4.setOnClickListener(listener);
  161.         btn5 = (Button) findViewById(R.id.button5);
  162.         btn5.setOnClickListener(listener);
  163.         btn6 = (Button) findViewById(R.id.button6);
  164.         btn6.setOnClickListener(listener);
  165.         btn7 = (Button) findViewById(R.id.button7);
  166.         btn7.setOnClickListener(listener);
  167.         btn8 = (Button) findViewById(R.id.button8);
  168.         btn8.setOnClickListener(listener);
  169.         btn9 = (Button) findViewById(R.id.button9);
  170.         btn9.setOnClickListener(listener);
  171.         btn10 = (Button) findViewById(R.id.button10);
  172.         btn10.setOnClickListener(listener);
  173.         btn11 = (Button) findViewById(R.id.button11);
  174.         btn11.setOnClickListener(listener);
  175.         call = (Button) findViewById(R.id.PhoneCall);
  176.         number = (TextView) findViewById(R.id.Number);
  177.         BACK = (Button) findViewById(R.id.BACK);
  178.         BACK.setOnLongClickListener(new View.OnLongClickListener() {
  179.             @Override
  180.             public boolean onLongClick(View v) {
  181.                 number.setText("");
  182.                 return false;
  183.             }
  184.         });
  185.         BACK.setOnClickListener(new View.OnClickListener() {
  186.             @Override
  187.             public void onClick(View v) {
  188.                 st.pop();
  189.                 String str = "";
  190.                 for (String data : st) {
  191.                     str += data;
  192.                 }
  193.                 number.setText(str);
  194.             }
  195.         });


  196.     }

  197.     public void Call(View view) {
  198.         try {
  199.             if (ContextCompat.checkSelfPermission(getApplicationContext(), CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
  200.                 Intent dial = new Intent();
  201.                 dial.setAction("android.intent.action.CALL");
  202.                 dial.setData(Uri.parse("tel:" + number.getText().toString()));
  203.                 startActivity(dial);
  204.             } else {
  205.                 requestPermissions(new String[]{CALL_PHONE}, 1);
  206.             }

  207.         }catch(Exception e)
  208.         {
  209.             number.setText(e.toString());
  210.         }

  211.     }
  212. }
複製代碼

作者: 蔡季樺    時間: 2018-10-6 14:59

  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. }
複製代碼

作者: 洪振庭    時間: 2018-10-8 19:17

  1. package com.example.student.myapplication;

  2. import android.Manifest;
  3. import android.content.Intent;
  4. import android.content.pm.PackageManager;
  5. import android.net.Uri;
  6. import android.support.v4.app.ActivityCompat;
  7. import android.support.v4.content.ContextCompat;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.os.Bundle;
  10. import android.view.View;
  11. import android.widget.Button;
  12. import android.widget.TextView;

  13. import static android.Manifest.permission.*;

  14. public class MainActivity extends AppCompatActivity {
  15.     Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,star,holl,dial,delete;
  16.     TextView output;

  17.     @Override
  18.     protected void onCreate(Bundle savedInstanceState) {
  19.         super.onCreate(savedInstanceState);
  20.         setContentView(R.layout.activity_main);
  21.         Init();
  22.     }
  23.     Button.OnClickListener listener = new View.OnClickListener() {
  24.         @Override
  25.         public void onClick(View v) {
  26.             Button tmp = (Button) findViewById(v.getId());
  27.             output.setText(output.getText().toString() + tmp.getText().toString());
  28.         }
  29.     };
  30.     public void Init(){
  31.         b1=(Button)findViewById(R.id.button);
  32.         b1.setOnClickListener(listener);
  33.         b2=(Button)findViewById(R.id.button2);
  34.         b2.setOnClickListener(listener);
  35.         b3=(Button)findViewById(R.id.button3);
  36.         b3.setOnClickListener(listener);
  37.         b4=(Button)findViewById(R.id.button4);
  38.         b4.setOnClickListener(listener);
  39.         b5=(Button)findViewById(R.id.button5);
  40.         b5.setOnClickListener(listener);
  41.         b6=(Button)findViewById(R.id.button6);
  42.         b6.setOnClickListener(listener);
  43.         b7=(Button)findViewById(R.id.button7);
  44.         b7.setOnClickListener(listener);
  45.         b8=(Button)findViewById(R.id.button8);
  46.         b8.setOnClickListener(listener);
  47.         b9=(Button)findViewById(R.id.button9);
  48.         b9.setOnClickListener(listener);
  49.         b0=(Button)findViewById(R.id.button0);
  50.         b0.setOnClickListener(listener);
  51.         star=(Button)findViewById(R.id.star);
  52.         star.setOnClickListener(listener);
  53.         holl=(Button)findViewById(R.id.holl);
  54.         holl.setOnClickListener(listener);

  55.         delete=(Button)findViewById(R.id.delete);
  56.         delete.setOnClickListener(new View.OnClickListener(){
  57.             @Override
  58.             public void onClick(View v) {
  59.                 if(!output.getText().toString().equals(""))
  60.                     output.setText(output.getText().toString().substring(0, output.getText().toString().length()-1));
  61.             }
  62.         });
  63.         delete.setOnLongClickListener(new View.OnLongClickListener() {
  64.             public boolean onLongClick(View v) {
  65.                 output.setText("");
  66.                 return true;
  67.             }
  68.         });

  69.         dial=(Button)findViewById(R.id.dial);

  70.         output=(TextView)findViewById(R.id.output);

  71.     }
  72.     public void PhoneCall(View view){
  73.         try {
  74.             if (ContextCompat.checkSelfPermission(getApplicationContext(), CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
  75.                 Intent dial = new Intent();
  76.                 dial.setAction("android.intent.action.CALL");
  77.                 dial.setData(Uri.parse("tel:" + output.getText().toString()));
  78.                 startActivity(dial);
  79.             } else {
  80.                 requestPermissions(new String[]{CALL_PHONE}, 1);
  81.             }

  82.         }catch(Exception e)
  83.         {
  84.             output.setText(e.toString());
  85.         }

  86.     }

  87. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2