有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

回调中的java代码未运行

我是java的新手。我对这个问题一窍不通。我觉得一切都很好。 代码:

testCall。java

package com.example.callbacktest;

public interface testcall {
    public void onEvent();
}

测试库。java

  package com.example.callbacktest;

  public class testLibrary {

      testcall listener;
       public testLibrary(){

        }
        public void createSession(  testcall callback ){
            this.listener = callback;
            System.out.println("Out from library");
        }
    }

主要活动。java

package com.example.callbacktest;

import 安卓.support.v7.app.ActionBarActivity;
import 安卓.os.Bundle;
import 安卓.view.Menu;
import 安卓.view.MenuItem;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        testLibrary obj = new testLibrary();
        obj.createSession(new testcall(){

            @Override
            public void onEvent() {
                System.out.println("OUT from onEvent");

            }

        });
    }

}

系统只记录打印“从库中输出”。它还应该打印“从OneEvent输出”。 回调中的代码未运行。我不明白我错过了什么


共 (1) 个答案

  1. # 1 楼答案

    您没有在testLibrary类中调用回调方法

    在testLibrary类中这样更改方法

     public void createSession(  testcall callback ){
            this.listener = callback;
            System.out.println("Out from library");
            listener.onEvent();  //Added line
        }