javascript - 按下后退按钮时将正确的信息传递给上一个活动
问题描述
我正在使用以下代码来实现工具栏中的后退按钮:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_series);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar( toolbar );
Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SeriesActivity.this, BowlerActivity.class));
finish();
}
});
我的问题是当 .setNavigationOnClickListener 注册点击时,它会返回到前一个活动减去正确的保龄球。当我参加系列活动时,我将 LeagueId 和 BowlerId 传递给它。当我回到 BowlerActivity 时,我没有传回任何东西,所以我得到以下信息:
Bowlers B1 和 B2 属于不同的联赛。
我已经经历了几个不同的线程,比如如何覆盖 android 中的操作栏后退按钮?我已经尝试了其中的几个不同的建议。他们都没有为我工作。
如何将leagueId 和 BowlerId 传递回 BowlerActivity,以便在它启动时从数据库中过滤出正确的 Bowler 以显示在列表视图中。
我什至需要将这些值传回吗?任何援助将不胜感激。
解决方案
从您的 SeriesActivity 调用 BowlerActivity 使用 startActivityForResult() 方法
例如:
Intent i = new Intent(SeriesActivity.this, BowlerActivity.class);
startActivityForResult(i, 1);
在您的 BowlerActivity 中设置您想要返回到 SeriesActivity 的数据。如果您不想返回,请不要设置任何内容。
For example: In BowlerActivity if you want to send back data:
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
If you don't want to return data:
Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();
现在在您的 SeriesActivity 类中为 onActivityResult() 方法编写以下代码。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
String result=data.getStringExtra("result");
}
if (resultCode == Activity.RESULT_CANCELED) {
//Write your code if there's no result
}
}
}
推荐阅读
- c# - ASP.NET EF Core 健康检查只返回 200 状态
- mongodb - 在 Mongoose 中过滤两个种群的空值
- c++ - 如何按向量值c ++排序地图
- automated-tests - 空手道 - 如何根据选项值在选择组件中选择选项
- winapi - MFC:对话框 ShowWindow(SW_SHOW) 在 WM_PAINT 之前显示旧内容?
- wordpress - weblinks svg文件一旦放置在网页中就无法工作
- botframework - Teams Bot 消息扩展搜索的导航选项类似于新的内置贴纸应用程序?
- php - 使用 if else 条件时我的数据表不起作用
- amazon-web-services - aws codecommit pr 批准被覆盖
- python - openpyxl dataframe_to_rows 停止对 NaN 的行处理?