I have a program that draws lines in random colour! So I made a variable "colour" and 3 buttons. Every button got its value, and this value sets the colour. But the colour setting command is in another class, so I have to pass the "colour" value to the DrawArea class. So my question is, how can I do that? I tried it somehow with getter and setter but failed...
One is a Activity and one is a View
Main Activity
package com.example.drawproject;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.os.Build;
public class MainActivity extends Activity {
Button b1; //Gelb
Button b2; //Blau
Button b3; //Grün       
public int colour = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.drawlayout);
    DrawArea da = new DrawArea(this, null);
    b1 = (Button) findViewById(R.id.button1);
    b1.setOnClickListener(handler);
    b2 = (Button) findViewById(R.id.button2);
    b2.setOnClickListener(handler);
    b3 = (Button) findViewById(R.id.button3);
    b3.setOnClickListener(handler);
}
View.OnClickListener handler = new View.OnClickListener(){
    public void onClick(View v){
        if(v==b1){
        farbe = 1;  
    }
        if(v==b2){
        farbe = 2;  
        }
        if(v==b3){
        farbe = 3;  
        }   
}};   
}
DrawArea
package com.example.drawproject;
import android.content.Context;
import android.graphics.*;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.MotionEvent;
import android.view.View;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class DrawArea extends View {
private List<Stroke> _allStrokes; //all strokes that need to be drawn
private SparseArray<Stroke> _activeStrokes; //use to retrieve the currently drawn strokes
private Random _rdmColor = new Random();
int count = 1;
public DrawArea(Context context, AttributeSet attrs) {
    super(context, attrs);
    _allStrokes = new ArrayList<Stroke>();
    _activeStrokes = new SparseArray<Stroke>();
    setFocusable(true);
    setFocusableInTouchMode(true);
}
public void onDraw(Canvas canvas) {
    if (_allStrokes != null) {
        for (Stroke stroke: _allStrokes) {
            if (stroke != null) {
                Path path = stroke.getPath();
                Paint painter = stroke.getPaint();
                if ((path != null) && (painter != null)) {
                    if(count%2 != 0){
                    canvas.drawPath(path, painter);
                    }
                }
            }
        }
    }
}
@Override
public boolean onTouchEvent(MotionEvent event) {
    final int action = event.getActionMasked();
    final int pointerCount = event.getPointerCount();
    switch (action) {
        case MotionEvent.ACTION_DOWN: {
            count++;
            if(count%2 != 1)
            {pointDown((int)event.getX(), (int)event.getY(), event.getPointerId(0));
            break;
            }
            if (count%2 != 0){
                for (int pc = 0; pc < pointerCount; pc++) {
                    pointDown((int)event.getX(pc), (int)event.getY(pc), event.getPointerId(pc));
        }
            }
        }
        case MotionEvent.ACTION_MOVE: {
            break;
        }
        case MotionEvent.ACTION_UP: {
            break;
        }
    }
    invalidate();
    return true;
}
private void pointDown(int x, int y, int id) {
    if(count%2 !=1){
    //create a paint with random color
    Paint paint = new Paint();
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(10);
    paint.setColor(_rdmColor.nextInt()); //Here should the values be added!
    //create the Stroke
    Point pt = new Point(x, y);
    Stroke stroke = new Stroke(paint);
    stroke.addPoint(pt);
    _activeStrokes.put(id, stroke);
    _allStrokes.add(stroke);
    }
    if (count%2 != 0){
    //retrieve the stroke and add new point to its path
    Stroke stroke = _activeStrokes.get(id);
    if (stroke != null) {
        Point pt = new Point(x, y);
        stroke.addPoint(pt);
    }
    }
}
}
 
     
     
     
    