【发布时间】:2020-05-02 22:01:57
【问题描述】:
我试图弄清楚回调是如何工作的以及最简单的方法,但我无法解决它
这是我的监听器接口
public interface OnTestingCBListener {
void onSuccessCB(String SomeValue);}
这是我的 MainActivity.java
OnCreate(){
//FIRST
deviceSetup();
}
public void deviceSetup() {
String DeviceID = "asdfg";
final String[] FirebaseID = {""};
//SECOND
GetFireBaseIDCall(new OnTestingCBListener() {
@Override
public void onSuccessCB(String ResultValue) {
//FOURTH
FirebaseID[0] = ResultValue;
}
}, "Value1", "Value2");
//FIFTH
Toast.makeText(MainActivity.this, "Result: "+DeviceID+"#"+FirebaseID, Toast.LENGTH_LONG).show();
}
OnTestingCBListener onTestingCBListener;
public void GetFireBaseIDCall(OnTestingCBListener onTestingCBListener, String x, String y){
if(x.equals("Value1") && y.equals("Value2")) {
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(MainActivity.this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
final String newToken = instanceIdResult.getToken();
Log.d("newToken", "Success :)");
//THIRD
onTestingCBListener.onSuccessCB(newToken);
}
});
Log.d("newToken", "Failed :(");
}
}
不行,有什么解决办法吗?
【问题讨论】:
-
也许this 对你有用?
标签: java android callback listener