Страница 1 из 1

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

Добавлено: 19 фев 2015, 17:10
sergentum
[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]
То на пункте репайнт среда ругается, типа нет такого метода у объекта.
Так вот, вопрос, как засунуть объект с графиком в тот вью, в который мне надо?

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

Добавлено: 19 фев 2015, 22:02
doter.ua
Попробуй К Layout добавить элемент myLayout.addView( view )

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

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

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

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

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

Добавлено: 24 фев 2015, 15:39
sergentum
Точно, я правильно обозначил. Почитал про это.

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

Добавлено: 24 фев 2015, 15:49
sergentum
Следующая проблема. Не могу добавить один и тот же вью на разные лэйауты. Почему не работает?
[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.

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

Добавлено: 24 фев 2015, 17:27
парень
Вьюшка уже имеет "родителя". Сам возился с подобной проблемой. Пришел к созданию еще одной вьюшки (((