J'ai ces choses, dans une activité que j'ai définie un onTouchListener à mon ImageDraw, qui étend la classe ImageView, avec cet auditeur que j'effectue des actions comme zoom et panoramique avec des gestesAndroid - Création d'un écouteur de clic sur un bouton et un ImageView étendu sur la même activité
Mais dans cette activité j'ai un bouton à, mais quand un onClickListener le bouton j'obtiens i NullPointerException.
Sans définir onClickListener, tout fonctionne correctement.
Ma classe ImageDraw est:
public class ImageDraw extends ImageView{
private Paint mPaint = new Paint();
List<Point> pts = new ArrayList<Point>() ;
public ImageDraw(Context context) {
super(context);
}
//used to send the location of the points to draw on the screen
//must be called before every redraw to update the points on the screen
public void SetPointsToDraw(List<Point> pts)
{
this.pts = pts;
}
public ImageDraw(Context context, AttributeSet attrs)
{
super(context,attrs);
}
public ImageDraw(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint paintColor = mPaint;
paintColor.setColor(Color.YELLOW);
paintColor.setStrokeWidth(3);
if(pts.size() > 0)
{
canvas.drawCircle(pts.get(0).x, pts.get(0).y, 7, paintColor);
}
if (pts.size() > 1)
{
for (int i = 1 ; i < pts.size(); i++) {
paintColor.setColor(Color.YELLOW);
canvas.drawCircle(pts.get(i).x, pts.get(i).y, 7, paintColor);
paintColor.setColor(Color.RED);
canvas.drawLine(pts.get(i-1).x, pts.get(i-1).y, pts.get(i).x, pts.get(i).y, paintColor);
}
}
}
}
Modifié:
Ici, je mets le onClickListener au bouton, et son ici où te excpetion est un jet. Exactement sur le btnNew.SetOnTouchListener
Button btnNew = (Button) findViewById(R.id.btnNew);
try
{
btnNew.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Intent intent = new Intent(getApplicationContext(), NewWaypoint.class);
startActivity(intent);
return false;
}
});
}
catch(Exception e)
{
String teste = e.toString();
}
Pouvez-vous mettre le code qui donne une erreur - ' – JQCorreia
Si elle est dans une mise en page, semble que votre mise en page ne peut pas être gonflé. besoin de plus d'informations sur l'endroit où vous définissez onClickListener sur le bouton – chaitanya
Savez-vous d'où l'exception NullPointerException est levée? – shihpeng