dans mon exemple de projet: onDraw besoin d'un int à tirer de l'activité principale, lors de l'initialisation du paramètre à 1 dans MainActivity, ce ne est pas dessiner quoi que ce soit,Comment passer un int à mon onDraw dans Android? Quel est le problème dans mon code?
// MyView classe étend Voir
private int parameter=0;//if i change to 1 it will draw,
//but i want set it from main Activity
public void setParameter(int param)
{
this.parameter=param;
invalidate();
Log.i("tag9", this.parameter+" setParameter");
}
@Override
protected void onDraw(Canvas canvas) {
Log.i("tag9",parameter + " ondraw");
if(this.parameter==0){
return;}
//Drawing code ...
}
// en MainActivity:
MyView myView = new MyView(this);
myView.setParameter(1);
// code Xml:
<RelativeLayout ...>
<view
android:layout_width="wrap_content"
android:layout_height="wrap_content"
class="(packagename).MyView"
android:id="@+id/view"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="138dp"/>
</RelativeLayout>
// DDMS
1 setparameter
0 ondraw // its shouldnt be 0;
Ajoutez-vous quelque chose à une mise en page? Je ne vois pas cela à l'écran dans le code que vous avez publié. –
je l'ajoute à partir de design xml \ customView – Mehraban
Non, vous n'êtes pas. Vous le créez via new. Cela crée une nouvelle vue dans aucune disposition. Si vous voulez référencer un ensemble de vues en XML, utilisez findViewById –