Ses propres ecouteur android

hjbb Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
hjbb Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai cree un Class herité du LineaireLayout, avec deux button "+" et "-" et un textview et je veux creer un ecoteur pour l'utiliser pour manipuler ce class,
ps: la solution du java ne fonctionne pas
A voir également:

1 réponse

scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
Bonjour,

Pourrais je vois voir votre code dans la Class, histoire de voir ou est le problème.
Quel IDE utilisez vous ?
Sur quel version(API) de Android vous de développer ?
0
hjbb Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
android 2.1, eclipse
package com.example.repondeur;  
 

import android.content.Context;  
import android.graphics.Color;  
import android.util.AttributeSet;  
import android.view.Gravity;  
import android.view.View;  
import android.widget.Button;  
import android.widget.LinearLayout;  
import android.widget.TextView;  


public class Wheel extends LinearLayout {  
   
   
    Button up, down;  
 int max, min;  
 int wrap = LayoutParams.WRAP_CONTENT;  
 int fill = LayoutParams.FILL_PARENT;  
 TextView num;  
   
   
 public Wheel(Context context) {  
  super(context);  
  max = 10;  
  min = 1;  
  setOrientation(LinearLayout.VERTICAL);  
  setLayoutParams(new LayoutParams(wrap, wrap));  
  init();  
 }  

 public Wheel(Context context, AttributeSet attrs) {  
  super(context, attrs);  
  max = 10;  
  min = 1;  
  init();  
 }  
   
 //private void init(AttributeSet attrs) {}  

 public Wheel(Context context, int tmp, int tmp2) {  
  super(context);  
  max = tmp;  
  min = tmp2;  
  setOrientation(LinearLayout.VERTICAL);  
  setLayoutParams(new LayoutParams(wrap, wrap));  
  init();  
 }  

 private void init() {  
    
  Context ctx = this.getContext();  
  up = new Button(ctx);  
  down = new Button(ctx);  
  num = new TextView(ctx);  
    
  up.setText("+");  
  down.setText("-");  
  num.setText(Integer.toString(min));  
  num.setGravity(Gravity.CENTER);  
  num.setTextColor(Color.WHITE);  
  up.setOnClickListener(new OnClickListener() {  
     
   @Override  
   public void onClick(View v) {  
    int tmp = Integer.valueOf((String) num.getText()) + 1 ;  
    if (tmp > max){  
     tmp = min;  
    }  
    String chtmp = Integer.toString(tmp);  
    num.setText(chtmp);  
    //fireModifier(new ModifierEvent(Wheel.this, true));  
   }  
  });  
    
  down.setOnClickListener(new OnClickListener() {  
     
   @Override  
   public void onClick(View v) {  
    int tmp = Integer.valueOf((String) num.getText()) - 1 ;  
    if (tmp < min){  
     tmp = max;  
    }  
    String chtmp = Integer.toString(tmp);  
    num.setText(chtmp);  
    //fireModifier(new ModifierEvent(Wheel.this, false));  
   }  
  });  
    
    
  addView(up, new LinearLayout.LayoutParams(fill, wrap));  
  addView(num, new LinearLayout.LayoutParams(fill, wrap));  
  addView(down, new LinearLayout.LayoutParams(fill, wrap));  
    
 }  
   
 public int getNum(){  
  return Integer.valueOf(num.getText().toString());  
 }  
   
 public String getNumOnString(){  
  return num.getText().toString();  
 }  
   
 public void setMaxMin(int ma, int mi){  
  max = ma;  
  min = mi;  
 }  
   
} 
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
A partir de la quel est le problème ?
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
A priori, certain ont déjà rencontré le problème et ils l'ont solutionné comme ceci
https://stackoverflow.com/questions/5703548/android-onclick-method-doesnt-work-on-a-custom-view

C'est anglais, mais je ne pense pas que cela pose problème.
0
hjbb Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour l'aide :)
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
Tu as trouvé ton bonheur dans le lien que j'ai donné ?

Voila qui pourra me servir plus tard.
0