0

Voici mon code ...Comment puis-je utiliser OnLongClick Listener sur plus de 1 boutons dans une méthode onLongClick dans la même classe

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     text = (TextView) findViewById(R.id.textView); 
     text.setText("Application Created"); 
     btn1 = (Button) findViewById(R.id.Mybutton); 
     btn1.setOnClickListener(this); 
     btn2 = (Button) findViewById(R.id.btn2); 
     btn2.setOnClickListener(this); 
     btn1.setOnLongClickListener(**this**);*(Error Generated here)* 
    } 

public boolean onLongClick(View v) 
{ 


    return true; 
} 

je suis en train d'utiliser sur écoute à long cliquez sur plus de deux boutons et manipulez-les en une seule méthode (public boolean onLongClick (View v)) en utilisant le casse switch. J'ai essayé mon code mais leur erreur est générée quand je passe btn1.setOnLongClickListener (this); "ce" dans les accolades » je suis la manipulation de cet événement dans la même classe

+0

cas d'utilisation d'interrupteurs longClick, commutateur (view.getId()) et identifier vos boutons avec leurs identifiants respectifs –

+0

Merci beaucoup Monsieur! Pour essayer de m'aider mais je suis confronté à l'erreur dans –

+0

btn1.setOnLongClickListener (** this **); * (Erreur générée ici) * cette section pouvez-vous s'il vous plaît m'aider dans cette partie –

Répondre

0

1) Mettre en oeuvre votre activité avec l'interface View.OnLongClickListener 2) Override méthode booléenne génère comme onLongClick, où vous pouvez écrire votre cas de commutation pour les boutons. 3) initialiser le bouton avec setOnLongClickListener (ce) comme button.setOnLongClickListener(this); [onCreate]

l'échantillon comme ci-dessous-

public class MainActivity extends AppCompatActivity implements View.OnLongClickListener{ 

    private Button btnOne, btnTwo, btnThree; 

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

     btnOne = (Button) findViewById(R.id.idBtnOne); 
     btnTwo = (Button) findViewById(R.id.idBtnTwo); 
     btnThree = (Button) findViewById(R.id.idBtnThree); 

     btnOne.setOnLongClickListener(this); 
     btnTwo.setOnLongClickListener(this); 
     btnThree.setOnLongClickListener(this); 

    } 

    @Override 
    public boolean onLongClick(View v) { 

     switch(v.getId()){ 
      case R.id.idBtnOne: 
       Toast.makeText(MainActivity.this,"Long pressed on Button 1",Toast.LENGTH_LONG).show(); 
       break; 
      case R.id.idBtnTwo: 
       Toast.makeText(MainActivity.this,"Long pressed on Button 2",Toast.LENGTH_LONG).show(); 
       break; 
      case R.id.idBtnThree: 
       Toast.makeText(MainActivity.this,"Long pressed on Button 3",Toast.LENGTH_LONG).show(); 
       break; 
      default: 
       break; 

     } 

     return false; 
    } 
} 
0

btn1.setOnLongClickListener (this);.

et impliment votre classe avec View.OnLongClickListener

puis remplacer cette méthode

@Override 
public boolean onLongClick(View view) { 
    switch(view.getId()){ 
    case R.id. : 
    break; 
    } 
    return false; 
} 
0

pour utiliser cette comme OnLongClickListener votre classe devrait implémente l'View.OnLongClickListener d'interface et il est procédé, par exemple:Je crois que vous avez déjà fait de même pour btn2.setOnClickListener (this) et OnClickListener interface.

+0

Yup merci déjà fait :) –