Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Genome
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 221
#1

Java.lang.IncompatibleClassChangeError и лямбда - Программирование Android

21.03.2017, 13:46. Просмотров 258. Ответов 2
Метки нет (Все метки)

Приветствую.
Есть обработчик события нажатия кнопки, при тестировании приложения, нажимал ее тысячу раз и вот с со следующего нажатия стала появляться такая ошибка:

03-21 06:31:50.220 5910-5910/genome.game E/InputEventReceiver: Exception dispatching input event.
03-21 06:31:50.220 5910-5910/genome.game E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
03-21 06:31:50.221 5910-5910/genome.game E/MessageQueue-JNI: java.lang.IncompatibleClassChangeError: Class 'genome.game.-$Lambda$0' does not implement interface 'android.view.View$OnTouchListener' in call to 'boolean android.view.View$OnTouchListener.onTouch(android.view.View, android.view.MotionEvent)' (declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)
Вот обработчик события:
Java
1
2
3
4
5
6
7
8
9
10
11
rotateBtn.setOnTouchListener((View v, MotionEvent event) -> {
            if (event.getAction() == MotionEvent.ACTION_DOWN){
                FigureCoordinates newCoordinates = null;
                try {
                     gameManager.getCurrentFigure().rotate();
                } catch (CloneNotSupportedException e) {
                    e.printStackTrace();
                }
            }
            return true;
        });
Также иногда приложение не запускается и вовсе. Компилятор выдает ошибку:
java.lang.NoSuchMethodError: No direct method <init>(Ljava/lang/ObjectV in class Lgenome/game/-$Lambda$0; or its super classes (declaration of 'genome.game.-$Lambda$0' appears in /data/app/genome.game-4/base.apk)
Убираю лямбду и все хорошо. Непонятно больше всего то, что если я верну лямбду, то все будет работать, а проблемы начнутся снова через пару дней. Будут те же ошибки. Подскажите, пожалуйста, в чем может быть проблема ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2017, 13:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Java.lang.IncompatibleClassChangeError и лямбда (Программирование Android):

Ava.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] link.stuzer.stattrack.data - Программирование Android
// Print out the database as array public String getAllWeapons(){ String dbString = new String; SQLiteDatabase...

Ошибка java.lang.ClassCastException: com.organizer.ToDoItemDescr cannot be cast to java.util.Map - Программирование Android
Ошибка появляется когда пытаюсь вытянуть из кастомного адаптера запись ListView. Весь лог ошибки такой: FATAL EXCEPTION: main Process:...

Java.lang.ClasscastException - Программирование Android
Пишу на андроид, но не суть. Есть один класс, наследующий от application, например MyApp. В MainActivity (главном рабочем, стартовом классе...

Java.lang.OutOfMemoryError - Программирование Android
Помогите, падает приложение с ошибкой нехватки памяти. Делаю добавление фото из галереи телефона, и на 4-5м снимке приложение падает.:( ...

java.lang.NoClassDefFoundError - Программирование Android
Не пойму, что не так. DataActivity.java находится в пакете com.example.helper, в манифесте прописано: &lt;activity...

Ошибка java.lang.OutOfMemoryError - Программирование Android
Здравствуйте. В приложении частенько выскакивает ошибки java.lang.OutOfMemoryError BitmapFactory.nativeDecodeAsset() и...

2
Pablito
2580 / 2061 / 643
Регистрация: 12.05.2014
Сообщений: 7,232
Завершенные тесты: 1
21.03.2017, 14:01 #2
код вырван из контекста, ниче не понятно
0
Genome
9 / 9 / 1
Регистрация: 22.03.2013
Сообщений: 221
21.03.2017, 20:55  [ТС] #3
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
25
26
27
28
29
30
31
32
33
34
35
public class MainActivity extends Activity {
    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        CanvasView canvasView = (CanvasView)findViewById(R.id.canvasView);
        InfoView infoView = (InfoView) findViewById(R.id.infoView);
 
        Button rotateBtn = (Button) findViewById(R.id.rotateBtn);
 
        final GameManager gameManager = new GameManager(canvasView, infoView);
        gameManager.gameStart();
 
        rotateBtn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    FigureCoordinates newCoordinates = null;
                    try {
                        gameManager.getCurrentFigure().rotate();
                    } catch (CloneNotSupportedException e) {
                        e.printStackTrace();
                    }
                }
                return true;
            }
        });
    }
}
Добавлено через 2 минуты
Java
1
2
3
4
5
6
7
8
9
10
 @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    void gameStart(){
        Thread gameThread = new Thread(() -> {
            while (true) {
                ...
            }
        });
 
        gameThread.start();
    }
Вот здесь еще ругается на лямбду иногда.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2017, 20:55
Привет! Вот еще темы с ответами:

Ошибка java.lang.NullPointerException - Программирование Android
Возникает ошибка при объявлении строкового массива, я проверил, в файле string все данные есть Лог ошибки: 07-31 15:25:38.258...

Java.lang.NumberFormatException: Invalid double - Программирование Android
Android приложение, в котором нужно построить график. Для этого я получаю с помощью AsyncTask(парсинг XML) значения типа String, но мне их...

Java.lang.OutOfMemoryError на Samsung Galaxy - Программирование Android
Play Google в разделе Сбой показывает ошибку java.lang.OutOfMemoryError. С ней более-менее все понятно. Но по чему она вылетает...

FATAL EXCEPTION: main java.lang.NullPointerException - Программирование Android
Помогите есть исходный код package com.br.br; import android.content.Intent; import android.graphics.Bitmap; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru