Как приравнять два view?

Интерфейс, диалоги, темы, стили, меню
Ответить
Аватара пользователя
sergentum
Сообщения: 22
Зарегистрирован: 10 апр 2014, 13:13

Как приравнять два view?

Сообщение sergentum » 19 фев 2015, 17:10

[syntax=java5] protected void onStart() {
super.onStart();
dataset.addSeries(timeSeries);
view = ChartFactory.getTimeChartView(this, dataset, renderer, "Test");
view.refreshDrawableState();
view.repaint();
//setContentView(view);
frame = findViewById(R.id.LinearView);
frame = view;
}
[/syntax]
Суть проблемы. Объект view - создается программно, и в него пишутся данные которые надо отобразить. Если после этого делать setContentView(view) то все хорошо, НО график получается на весь экран, а я хочу еще чтобы было видно строки, кнопки и т.п.
Я создаю специальный для графика объект вью - frame, нахожу его и что дальше делать?
Если сделать так:
[syntax=java5] protected void onStart() {
super.onStart();
frame = findViewById(R.id.LinearView);
dataset.addSeries(timeSeries);
frame = ChartFactory.getTimeChartView(this, dataset, renderer, "Test");
frame.refreshDrawableState();
frame.repaint();
//setContentView(view);
}[/syntax]
То на пункте репайнт среда ругается, типа нет такого метода у объекта.
Так вот, вопрос, как засунуть объект с графиком в тот вью, в который мне надо?

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Как приравнять два view?

Сообщение doter.ua » 19 фев 2015, 22:02

Попробуй К Layout добавить элемент myLayout.addView( view )
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
sergentum
Сообщения: 22
Зарегистрирован: 10 апр 2014, 13:13

Re: Как приравнять два view?

Сообщение sergentum » 24 фев 2015, 15:35

Спасибо, заработало.
Как называется то что происходит во второй строке, и почему не работает в первой?
[syntax=java5]

Код: Выделить всё

                    //frame = findViewById(R.id.LinearView);
        LinearLayout frame = (LinearLayout) findViewById(R.id.LinearView);
[/syntax]
Это называется обязательная типизация переменных или как-то иначе?

Аватара пользователя
sergentum
Сообщения: 22
Зарегистрирован: 10 апр 2014, 13:13

Re: Как приравнять два view?

Сообщение sergentum » 24 фев 2015, 15:39

Точно, я правильно обозначил. Почитал про это.

Аватара пользователя
sergentum
Сообщения: 22
Зарегистрирован: 10 апр 2014, 13:13

Re: Как приравнять два view?

Сообщение sergentum » 24 фев 2015, 15:49

Следующая проблема. Не могу добавить один и тот же вью на разные лэйауты. Почему не работает?
[syntax=java5]LinearLayout frame = (LinearLayout) findViewById(R.id.LinearView);
frame.addView(view);
LinearLayout frame2 = (LinearLayout) findViewById(R.id.linearLayout1);
frame2.addView(view);[/syntax]

02-24 18:47:46.797 3649-3649/com.example.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.myapp, PID: 3649
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.MyActivity}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Как приравнять два view?

Сообщение парень » 24 фев 2015, 17:27

Вьюшка уже имеет "родителя". Сам возился с подобной проблемой. Пришел к созданию еще одной вьюшки (((
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Ответить