У меня есть Activity с ArrayList, а также я расширил View, Activity и View в отдельных классах.
public class activity extends Activity{
private ArrayList<customObject> ar = new ArrayList<customObject>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
drawview = new DrawView(this,ar);
setContentView(drawview);//more code
}}
Как вы видите, я передаю конструктору draview ArrayList моей деятельности, чтобы я мог обрабатывать объекты ArrayList has.i дал одинаковые имена ArrayList в обоих классах. (Если это имеет значение ...)
class DrawView extends View {
private ArrayList<customObject> ar;
public DrawView(Context context,ArrayList<customObject> a) {
super(context);
this.ar=a;
}
//more code
}
А теперь очень, очень, очень странная вещь .... Насколько я знаю, java - это вызов по значению, поэтому я не могу фактически передать сегменты памяти, где я храню свой массив данных ... так что единственные значения должны drawview мог видеть те, которые я передал конструктору .... НО, когда я добавляю значения в ArrayList Деятельности, значения также являются аиралистом представления !!!!
Может ли это происходить? Почему это происходит ... я очень растерялся ...