B
BFK
Fortgeschrittenes Mitglied
- 11
Hallo forum,
Ich wollte mir ein eigenen View zusamenstellen, aber leider stehe ich vor einem seltsamen Problem.
Erstmal mein Code von meiner abgeleitete-View Klasse..:
Also, wir Ihr seht mein View beinhaltet einfach nur Text, der angezeigt wird.
In meiner Activity erstelle ich ein Objekt meines Views, also ein Objekt von View_1 und adde es in meinem LinearLayout namens "jo"...:
Soweit so gut...!
Wenn ich jetzt aber ein neues View_1-Objekt erstelle und da eine eigenschaft setze, sagen wir mal setName_1..:
...wird einfach der Name vom vorhandenen View_1 geändert auf "BLABLA", obwohl ich ja den Name_1 vom secView gesetzt hab, das ja nicht mal zum LinearLayout geaddet wurde.
Was mache ich falsch..?
Ich wollte mir ein eigenen View zusamenstellen, aber leider stehe ich vor einem seltsamen Problem.
Erstmal mein Code von meiner abgeleitete-View Klasse..:
Code:
public class View_1 extends View {
private static String name_1;
private static String name_2;
private static String name_3;
/*+++++++++++ CONSTRUCTORS +++++++++++++ */
public_1(Context context, AttributeSet attrs) {
super(context, attrs);
}
public View_1(Context context) {
super(context);
}
/* ---------------- */
public void setName_1(String NAME){
name_1 = NAME;
}
public void setName_2(String NAME){
name_2 = trackNAME;
}
public void setName_3(String NAME){
name_2 = trackNAME;
}
@Override
protected void onDraw(Canvas canvas) {
Paint paint_trackName = new Paint();
paint_trackName.setColor(Color.BLACK);
paint_trackName.setTextSize(22);
paint_trackName.setStyle(Style.FILL);
paint_trackName.setAntiAlias(true);
canvas.drawText(name_1,20, 25, paint_trackName);
.
.
.
Paint line_paint = new Paint();
line_paint.setColor(Color.BLACK);
canvas.drawLine(0, getHeight() - 1, getWidth(), getHeight() - 1, line_paint);
setBackgroundColor(Color.argb(255, 255, 165, 0));
super.onDraw(canvas);
}
}
In meiner Activity erstelle ich ein Objekt meines Views, also ein Objekt von View_1 und adde es in meinem LinearLayout namens "jo"...:
Code:
LinearLayout lL = (LinearLayout) findViewById(R.id.jo);
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, 60);
View_1 firstView = new View_1(getApplicationContext());
firstView.setName_1("Test_1");
firstView.setName_2("Test_2");
firstView.setName_3("Test_3");
firstView.setLayoutParams(lp );
lL.addView(firstView)
Wenn ich jetzt aber ein neues View_1-Objekt erstelle und da eine eigenschaft setze, sagen wir mal setName_1..:
Code:
View_1 secView = new View_1(getApplicationContext());
secView.setName_1("BLABLA");
Was mache ich falsch..?