【发布时间】:2021-06-27 16:05:44
【问题描述】:
我不明白为什么我在使用 finish() 时不能使用完成活动;
当用户点击发布按钮时,我会将数据发送到数据库并完成活动。
但是现在不行了。
这是我的代码
谁知道发生了什么?
private void uploadpostinfo(){
String userID = getID;
//String image = convertToString();
String imageName = statusEdit.getText().toString();
String sp2 = sp.getText().toString();
String tag = tags.getText().toString();
ApiInterface_Info apiInterface_info = ApiClient.getApiClient().create(ApiInterface_Info.class);
Call<Img_Pojo_Info> call = apiInterface_info.uploadpostinfo(imageName,userID,sp2,tag);
progressDialog.show();
call.enqueue(new Callback<Img_Pojo_Info>() {
@Override
public void onResponse(Call<Img_Pojo_Info> call, Response<Img_Pojo_Info> response) {
progressDialog.dismiss();
Img_Pojo_Info img_pojo2 = response.body();
//Toast.makeText(UploadActivity.this, "Post is Successful", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(UploadActivity.this,MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
UploadActivity.this.finish();
}
@Override
public void onFailure(Call<Img_Pojo_Info> call, Throwable t) {
Log.d("Server Response",""+t.toString());
progressDialog.dismiss();
}
});
}
【问题讨论】:
-
你是否在同一个活动中(在这种情况下为UploadActivity)?尝试只调用finish()
-
@ChanpreetSingh 是的,情况相同,如何调用finish()?我应该使用 onDestroy 吗?
-
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);使用此标志。删除完成活动代码
-
我建议在
onResponse函数的开头打印日志以确保它被实际调用。 -
你应该在开始新的活动之前完成活动