[英]How to add alternate function to back button in action bar Android
最终,按下后退按钮时将调用的新方法将执行与常规后退按钮相同的任务:切换到上一个Activity
。 但是,我也想将文本String
传递给上一个Activity
。 默认的后退按钮方法不执行此操作。 我需要找到一种方法,以便可以将String
传递回其他操作。
一个示例就是将Intent
与putExtra()
方法一起使用,使我能够成功传递String
。
有人对我如何做到这一点有任何建议吗?
如果不清楚,请让我知道。 谢谢!
您可以使用startActivityForResult作为此示例 。
FirstActivity.class,可以调用openOther()
public int REQUEST_CODE = 123;
private void openOther(){
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent,REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==REQUEST_CODE){
Log.d("Example","This is...");
// your code here
}
}
在SecondActivity.class中,您可以调用sendToFirst()
public void sendToFirst(int resultcode)
{
Intent intent=getIntent();
intent.putExtra("data", "Your String...");
setResult(resultcode, intent);
finish();
}
首先,为操作栏创建自定义xml布局。
然后,获取默认的操作栏并设置自定义视图。
最后,像通常一样在自定义布局中设置onCLickListener按钮。
ActionBar mActionBar = getActionBar();
mActionBar.setDisplayShowHomeEnabled(false);
mActionBar.setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(this);
View mCustomView = mInflater.inflate(R.layout.custom_action_bar_3, null);
TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
mTitleTextView.setText(R.string.title_activity_main);
mTitleTextView.setTextColor(Color.WHITE);
ImageButton imageButtoan = (ImageButton) mCustomView
.findViewById(R.id.imageView1);
imageButtoan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
mActionBar.setCustomView(mCustomView);
mActionBar.setDisplayShowCustomEnabled(true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.