10.05.2013 / 08:47 | |
boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Сори,затупил.
|
10.05.2013 / 08:56 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Naik, о, да, помню это событие)
__________________
let live |
10.05.2013 / 12:41 | |
boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| У меня вот такой вопрос.Как вызывать метод для рисования onDraw с других класов.Дело в том что он имеет параметры onDraw(Canvas c),и я незнаю что писать там при вызове.
|
10.05.2013 / 12:45 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| boNNdaR, invalidate() / postInvalidate(); А вообще поясни, что значит с других классов. Вот у тебя отображается какой-то экран из каких классов ты хочешь его перерисовать?
__________________
let live |
10.05.2013 / 12:57 | |
boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Есть два класа-Main и Draw.Main главный,и в качестве setContentView стоит Draw.Который extends View,и имеет метод onDraw.Клас Main implements SensorEventListener.В нем я работаю с акселерометром,и там имеется метод onSensorChanged(который вызывается когда двигать апарат).Так вот,я хочу обновлять екран(вызывать onDraw с другими параметрами),каждый раз когда апарат двигается.
|
10.05.2013 / 13:00 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| boNNdaR, юзай метод invalidate() или postInvalidate() если с другого потока обновляешь. __________________
let live Изменено aNNiMON (10.05 / 13:00) (всего 1 раз) |
10.05.2013 / 13:34 | |
boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Ещё один вопрос с области ООП.Есть два класса Main и Fon.В Main есть переменная int x.Её обявления делаю в поле класса,а инициализация проходит в методе Method.Как мне получить эту переменную в классе Fon?
|
10.05.2013 / 13:45 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| boNNdaR, 1. Передать ссылку на класс Main классу Fon и там уже обратиться к полю. 2. Сделать переменную int x статической и работать напрямую с ней Main.getX(); 3. Если ты вызываешь методы класса Fon, то можешь передать переменную в этот класс.
__________________
let live Изменено aNNiMON (10.05 / 13:46) (всего 2 раза) |
10.05.2013 / 13:48 | |
SeTSeR Пользователь Сейчас: Offline
Имя: Сергей Откуда: Где-то возле Москвы Регистрация: 01.07.2012
| boNNdaR, если переменная статистическая, то пишешь Main.x. Если же нет, то создаёшь объект класса Main и получаешь. Если переменная объявлена, как private или она обновляется в каком-то методе, то создаёшь в классе Main метод getX() и вызываешь его в классе Fon. В твоём случае будет так: public class Main{
private int x;
//бла-бла-бла
public void Method(){
x = 15;
}
public int getX(){
Method();
Method();
return x;
}
}
public class Fon{
public Fon(){
Main main = new Main();
int h = getX();
}
}
|
10.05.2013 / 14:03 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| SeTSeR, нет, нельзя заново создавать объект класса Main!! public class Main {
private int x;
private void Method() {
x = 15;
}
public int getX() {
return x;
}
private void initFon() {
Fon fon = new Fon(this);
setContentView(fon);
}
}
public class Fon {
public Fon(Main main) {
int x = main.getX();
}
}
__________________
let live |