我是Kotlin的新手
我使用此代码打开另一个活动:
startActivity(Intent(this,IntroAndLang::class.java))
Run Code Online (Sandbox Code Playgroud)
当前的活动和目标活动都写在Kotlin中
我无法理解为什么没有单一的:,而不是::在IntroAndLang::class.java
这是我的代码:通过这种方法,
如果数据成功接收变量将在方法内为 true
,我将一些数据发送到我的 API 服务器successonResponse
private boolean success=false;
public boolean commit(){
requestHandler.insertFields(tableName,values).enqueue(new Callback<DatabaseModel>() {
@Override
public void onResponse(Call<DatabaseModel> call,
Response<DatabaseModel> response) {
if (response.isSuccessful())
Log.i("debug8","result is:"+response.body().toString());
else
Log.e("debug8","error in server response:"+response.toString());
success=true;
}
@Override
public void onFailure(Call<DatabaseModel> call, Throwable t) {
Log.e("tempo",t.getMessage());
}
});
return success;//returns false before finishing the request
}
Run Code Online (Sandbox Code Playgroud)
在我的活动中我想检查这样的结果:
Database db=new Database("cars");
db.put("field1","val1")
.put("field2","val2");
if(db.commit())
Toast.makeText(this, "data inserted successfully", Toast.LENGTH_SHORT).show();
else
Toast.makeText(this, "failed to insert new record", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)
问题是提交方法结果总是 false,因为代码在改进排队方法完成其工作之前返回 false
制作一个自定义侦听器或类似的东西来执行此操作是一个好主意吗?
提前致谢