返回列表 發帖

OnLongClickListener

本帖最後由 tonyh 於 2017-6-10 18:00 編輯

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

  1. package com.example.student.myapplication;

  2. import android.content.DialogInterface;
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.TextView;

  8. public class MainActivity extends AppCompatActivity {

  9.     private TextView tv2;
  10.     private Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12,btn13;

  11.     @Override
  12.     protected void onCreate(Bundle savedInstanceState) {
  13.         super.onCreate(savedInstanceState);
  14.         setContentView(R.layout.activity_main);

  15.         tv2=(TextView) findViewById(R.id.textView2);
  16.         btn1= (Button) findViewById(R.id.button1);
  17.         btn2= (Button) findViewById(R.id.button2);
  18.         btn3= (Button) findViewById(R.id.button3);
  19.         btn4= (Button) findViewById(R.id.button4);
  20.         btn5= (Button) findViewById(R.id.button5);
  21.         btn6= (Button) findViewById(R.id.button6);
  22.         btn7= (Button) findViewById(R.id.button7);
  23.         btn8= (Button) findViewById(R.id.button8);
  24.         btn9= (Button) findViewById(R.id.button9);
  25.         btn10= (Button) findViewById(R.id.button10);
  26.         btn11= (Button) findViewById(R.id.button11);
  27.         btn12= (Button) findViewById(R.id.button12);
  28.         btn13= (Button) findViewById(R.id.button13);

  29.         btn1.setOnClickListener(myListener);
  30.         btn2.setOnClickListener(myListener);
  31.         btn3.setOnClickListener(myListener);
  32.         btn4.setOnClickListener(myListener);
  33.         btn5.setOnClickListener(myListener);
  34.         btn6.setOnClickListener(myListener);
  35.         btn7.setOnClickListener(myListener);
  36.         btn8.setOnClickListener(myListener);
  37.         btn9.setOnClickListener(myListener);
  38.         btn10.setOnClickListener(myListener);
  39.         btn11.setOnClickListener(myListener);
  40.         btn12.setOnClickListener(myListener);
  41.         btn13.setOnClickListener(myListener);
  42.         btn13.setOnLongClickListener(myListener2);
  43.     }

  44.     private View.OnClickListener myListener=new View.OnClickListener() {
  45.         @Override
  46.         public void onClick(View v) {
  47.             String str=tv2.getText().toString();

  48.             switch(v.getId())
  49.             {
  50.                 case R.id.button1:
  51.                     tv2.setText(str+"1");
  52.                     break;
  53.                 case R.id.button2:
  54.                     tv2.setText(str+"2");
  55.                     break;
  56.                 case R.id.button3:
  57.                     tv2.setText(str+"3");
  58.                     break;
  59.                 case R.id.button4:
  60.                     tv2.setText(str+"4");
  61.                     break;
  62.                 case R.id.button5:
  63.                     tv2.setText(str+"5");
  64.                     break;
  65.                 case R.id.button6:
  66.                     tv2.setText(str+"6");
  67.                     break;
  68.                 case R.id.button7:
  69.                     tv2.setText(str+"7");
  70.                     break;
  71.                 case R.id.button8:
  72.                     tv2.setText(str+"8");
  73.                     break;
  74.                 case R.id.button9:
  75.                     tv2.setText(str+"9");
  76.                     break;
  77.                 case R.id.button10:
  78.                     tv2.setText(str+"*");
  79.                     break;
  80.                 case R.id.button11:
  81.                     tv2.setText(str+"0");
  82.                     break;
  83.                 case R.id.button12:
  84.                     tv2.setText(str+"#");
  85.                     break;
  86.                 case R.id.button13:
  87.                     if(str.length()>0)
  88.                         str=str.substring(0,str.length()-1);
  89.                     System.out.println("點擊");
  90.                     tv2.setText(str);
  91.                     break;
  92.             }
  93.         }
  94.     };

  95.     private View.OnLongClickListener myListener2=new View.OnLongClickListener() {
  96.         @Override
  97.         public boolean onLongClick(View v) {
  98.             if(v.getId()==R.id.button13)
  99.             {
  100.                 tv2.setText("");
  101.                 System.out.println("長按");
  102.             }
  103.             return true;  //若返回true則在長按事件處理後不會再被其他傾聽者處理
  104.         }
  105.     };

  106. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

返回列表