我正在尝试申请。在我的应用程序中有一个包含图像的回收器,当您单击特定项目时它会转到中间 Activity (该 Activity 获取加载图像的链接(毕加索)并显示图像),然后您可以转到最后一个 Activity “做某事”。 但是我的后退箭头有问题: 最后一个 Activity 是中间 Activity 的子 Activity ,因此当您单击箭头图标时,它会转到中间 Activity 。但是 中间 Activity 应该获取图像数据(例如从回收站项目加载图像的链接)。因此,当单击 LastActivity 上的箭头时,它会转到 MiddleActivity 但无法正常工作,因为 没有图像的基本链接。
这是我的回收站适配器中的点击 ItemClickListener:
//IMPLEMENT CLICK LISTENER
holder.setItemClickListener(new ItemClickListener() {
@Override
public void onItemClick(View v, int pos) {
String getTitle = mMainList.get(pos).getKeyId();
Toast.makeText(v.getContext(),getTitle,Toast.LENGTH_SHORT).show();
//Go to the next Activity
Intent show_more = new Intent(v.getContext(), MiddleActivity.class);
show_more.putExtra("image_link", mMainList.get(pos).getImageLink());
v.getContext().startActivity(show_more);
}
});
MiddleActivity 中的 Intent 转到 LastActivity
Intent go_to_last = new Intent(MiddleActivity.this, LastActivity.class);
String image_link_push = getIntent().getStringExtra("image_link");
go_to_last.putExtra("image_link_push", image_link_push);//push link further
startActivity(go_to_last);
我的想法是我需要自定义 后退箭头 并按 Intent 发送图像链接。 Procces 看起来像这样:
MainAct(按 Intent 发送图像链接)--- MiddleAct(获取链接,并发送到下一个)--- LastAct(获取链接,在按下后退箭头时将相同的链接发送到 Middle)链接将被拖到所有 Activity 中
我试图通过 onBackPressed 方法(在 LastActivity 中)实现它,但它什么也没做:
image_link_back = getIntent().getStringExtra("image_link_push");
@Override //!!
public void onBackPressed()
{
Intent intent = new Intent(LastActivity.this, MiddleActivity.class);
intent.putExtra("image_link_back", image_link_back);
startActivity(intent);
super.onBackPressed();
finish();
}
希望我已经正确解释了我的问题。
如何“自定义”后退箭头并解决问题?如果您能回答我,我将不胜感激。
最佳答案
因为当用户单击返回箭头时, Activity 管理器关闭当前 Activity 并启动父 Activity ,所以 onCreate 将再次调用
解决方案: 当用户单击返回箭头完成当前 Activity (LastActivity) 而无需再次启动 parentActivity(MiddleActivity) 时,通过将此代码插入 LastActivity
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
//listen to back arrow in app bar
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
关于java - "Back Arrow"发送数据给Parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59159741/