Board logo

標題: OnLongClickListener [打印本頁]

作者: tonyh    時間: 2017-6-10 16:24     標題: OnLongClickListener

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

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

[attach]2257[/attach]
  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. }
複製代碼

作者: 李允軒    時間: 2017-6-11 10:05

  1. package com.example.jerry.myapplication;

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

  7. public class MainActivity extends AppCompatActivity {

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

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

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

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

  42.     }
  43.     private View.OnClickListener myLinstener= new View.OnClickListener() {
  44.         @Override
  45.         public void onClick(View v) {
  46.             String str=tv1.getText().toString();

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

  91.     private View.OnLongClickListener myListener2= new View.OnLongClickListener() {
  92.         @Override
  93.         public boolean onLongClick(View v) {
  94.             if(v.getId()==R.id.button13)
  95.                 tv1.setText("");
  96.             return true;
  97.         }
  98.     };
  99. }
複製代碼

作者: 林宇翔    時間: 2017-6-30 22:32

  1. package com.example.jerry.myapplication;

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

  7. public class MainActivity extends AppCompatActivity {

  8.     private TextView tv1;
  9.     private Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13;

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

  14.         tv1= (TextView) findViewById(R.id.textView2);
  15.         b1= (Button) findViewById(R.id.button1);
  16.         b2= (Button) findViewById(R.id.button2);
  17.         b3= (Button) findViewById(R.id.button3);
  18.         b4= (Button) findViewById(R.id.button4);
  19.         b5= (Button) findViewById(R.id.button5);
  20.         b6= (Button) findViewById(R.id.button6);
  21.         b7= (Button) findViewById(R.id.button7);
  22.         b8= (Button) findViewById(R.id.button8);
  23.         b9= (Button) findViewById(R.id.button9);
  24.         b10= (Button) findViewById(R.id.button10);
  25.         b11= (Button) findViewById(R.id.button11);
  26.         b12= (Button) findViewById(R.id.button12);
  27.         b13= (Button) findViewById(R.id.button13);

  28.         b1.setOnClickListener(myLinstener);
  29.         b2.setOnClickListener(myLinstener);
  30.         b3.setOnClickListener(myLinstener);
  31.         b4.setOnClickListener(myLinstener);
  32.         b5.setOnClickListener(myLinstener);
  33.         b6.setOnClickListener(myLinstener);
  34.         b7.setOnClickListener(myLinstener);
  35.         b8.setOnClickListener(myLinstener);
  36.         b9.setOnClickListener(myLinstener);
  37.         b10.setOnClickListener(myLinstener);
  38.         b11.setOnClickListener(myLinstener);
  39.         b12.setOnClickListener(myLinstener);
  40.         b13.setOnClickListener(myLinstener);
  41.         b13.setOnLongClickListener(myListener2);

  42.     }
  43.     private View.OnClickListener myLinstener= new View.OnClickListener() {
  44.         @Override
  45.         public void onClick(View v) {
  46.             String str=tv1.getText().toString();

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

  91.     private View.OnLongClickListener myListener2= new View.OnLongClickListener() {
  92.         @Override
  93.         public boolean onLongClick(View v) {
  94.             if(v.getId()==R.id.button13)
  95.                 tv1.setText("");
  96.             return true;
  97.         }
  98.     };
  99. }
複製代碼

作者: 劉得恩    時間: 2018-5-23 18:09

本帖最後由 劉得恩 於 2018-5-23 22:09 編輯
  1. package com.example.adm.myapplication;

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

  7. public class MainActivity extends AppCompatActivity {
  8.     private TextView tv;
  9.     private Button  btn[]=new Button[13];
  10.     private int ids[]=new int[]{R.id.btn0,R.id.btn1,R.id.btn2,R.id.btn3,R.id.btn4,R.id.btn5,R.id.btn6,R.id.btn7,R.id.btn8,R.id.btn9,R.id.btn10,R.id.btn11,R.id.btn12};
  11.     @Override
  12.     protected void onCreate(Bundle savedInstanceState) {
  13.         super.onCreate(savedInstanceState);
  14.         setContentView(R.layout.activity_main);
  15.         tv=(TextView)findViewById(R.id.tv);
  16.         for(int i=0;i<13;i++) {
  17.             btn[i] = (Button) findViewById(ids[i]);
  18.             btn[i].setOnClickListener(MyListener);
  19.         }
  20.         btn[12].setOnLongClickListener(new View.OnLongClickListener() {
  21.             @Override
  22.             public boolean onLongClick(View v) {
  23.                 tv.setText("");
  24.                 return true;
  25.             }
  26.         });
  27.     }
  28.     private View.OnClickListener MyListener =new View.OnClickListener(){
  29.         @Override
  30.         public void onClick(View v)
  31.         {
  32.             String str =tv.getText().toString();
  33.             int i=0,id=v.getId();
  34.             for(;i<13;i++)
  35.                 if(ids[i]==id)
  36.                     break;
  37.             if(i<10)
  38.                 tv.setText(str+Integer.toString(i));
  39.             else if(i==10)
  40.                 tv.setText(str+"*");
  41.             else if(i==11)
  42.                 tv.setText(str+"#");
  43.             else if(i==12&&str.length()>0)
  44.                 tv.setText(str.substring(0,str.length()-1));
  45.         }
  46.     };
  47. }
複製代碼





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