如何解决java.lang.IllegalArgumentException:在Android Libgdx项目中编译着色器时出错?

时间:2014-12-08 12:10:47

标签: android libgdx

我在Libgdx中创建一个游戏,为了与android UI交互,我创建了界面并调用了类中的方法的超级实现,在Android的主要活动中我已经使用了方法实现并添加了android代码。 当我尝试运行它时,我遇到了这个错误?

这是进入a​​ndroid类

的接口类及其方法
public interface abcInterface {

public void method1();

}

在Libgdx中,我称这种方法为

game.method1(int a,int b);

在主要活动中,我调用此接口方法实现

public void showmethod( final int level, int score)
{
    interface.method1(a,b, new interface() {

        @Override
        public void clickplay() {

            //...............
.................//

     }
    });
}

我正在尝试调用回调方法,但我遇到了这个错误,需要一些建议和解决方案。

2 个答案:

答案 0 :(得分:5)

使用以下代码更改showmethod(),希望您的问题能够得到解决。

public void showmethod(final int level, int score) {
    interface.method1(a, b, new interface() {

        @Override
        public void clickplay() {
            Gdx.app.postRunnable(new Runnable() {

                @Override
                public void run() {
                    //............... do your stuf here ................. //
                }
            });
        }
    });
}

答案 1 :(得分:0)

这是你的界面

public interface abcInterface {

            public void method1();

            }

像这样制作你的界面的对象

abcInterface abc = new abcInterface() {

            @Override
            public void method1() {
                // do here whatever you want 

            }
        };

现在您可以像这样调用方法接口

abc.method1();