Форум программистов, компьютерный форум CyberForum.ru

Не получается вызвать метод onDraw(); - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как приостановить выполнение приложения? http://www.cyberforum.ru/android-dev/thread1411861.html
Как при определенных условиях приостановить выполнение приложения? protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash); if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { //тут нужно приостановить приложение } }
Программирование Android Создание калькулятора: как посчитать строковую переменную Создаю калькулятор на телефон. У меня в строковой переменной хранятся все действия. Пример: a="1+2+3". Я думал, как это посчитать, и мне подсказали использовать эту библиотеку: https://github.com/evgenyneu/js-evaluator-for-android . Скачал, добавил в свой проект, но уже пол дня не могу разобраться как сделать так, что ты оно работало. Может кто то уже использовал, и знает... Что бы я не... http://www.cyberforum.ru/android-dev/thread1411845.html
Как проверить, включил ли пользователь GPS? Программирование Android
При запуске приложения пользователю предлагается включить GPS. Вот код: private void askForGpsLocation() { if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { alertDialog.setMessage("Share your location"); alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void...
POST авторизация с использованием JSOUP Программирование Android
Вот собственно и у меня дедлок случился)) Ситуация следующая, пытаюсь залогиниться на joy.reactor.cc package com.noxx.joyreactor.Net; import android.app.Activity; import android.os.AsyncTask;
Программирование Android Заполнение ListView в AsyncTask http://www.cyberforum.ru/android-dev/thread1411813.html
Нужно заполнить ListView картинками, которые скачиваются в AsyncTask с помощью Picasso. Картинки скачиваются нормально, ArrayList и ArrayAdapter заполняются, но при adapter.notifyDataSetChanged(); в onProgressUpdate(); вылезает Exception - ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. В чём проблема и как лучше решить...
Программирование Android Преобразование EditText в Double Здравствуйте, понемногу изучаю андроид и вот уперся в проблему, точнее в не знание. Есть EditText в нем указал что можно вводить только десятичные числа. А вот теперь сама проблема как правильно все перевести, запись такого плана не прокатывает editText = editText + 2; ну это и логично. Следовательно надо как то editText перевести в double. Подскажите как это сделать? Да и учитывая что только... подробнее

Показать сообщение отдельно
SergeyGafarov
1 / 1 / 0
Регистрация: 03.04.2015
Сообщений: 6

Не получается вызвать метод onDraw(); - Программирование Android

03.04.2015, 21:32. Просмотров 676. Ответов 1
Метки (Все метки)

Здравствуйте!
Я новичок в разработке приложений под android и сегодня безрезультатно провел день, т.к. не знаю решения моей проблемы. Прошу помочь.
Итак, проблема заключается в следующем: есть два активити. В одном я получаю координаты нажатия на экран. И хочу, чтобы в месте нажатия рисовалась линия с помощью канвы, используя метод onDraw(), который, в свою очередь, находится в другом классе. Координаты представлены в виде переменных mX и mY и осуществляется проверка условия(200 и 250 взяты от, прошу прощения, балды):

Java
1
2
3
if (mX > 200 && mY > 250) {
   GameDraw.DrawView.onDraw();
   }
Проверка условия происходит в классе GameAct.java, а GameDraw - это тот класс, который содержит метод onDraw() имеет следующий вид:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package...
 
import...
 
public class GameDraw extends ActionBarActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new DrawView(this));
    }
 
        class DrawView extends View {
 
        public DrawView(Context context) {
            super(context);
        }
 
        @Override
        protected void onDraw(Canvas canvas) {
            canvas.drawColor(Color.RED);
        }
    }
}
Я не стал заморачиватся рисованием линии, а просто решил закрасить все красным цветом.
Так сделать не получается, выводит сообщение: "Non-static method 'onDraw(android.graphics.Canvas)' cannot be referenced from a static context"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru