繁体   English   中英

如何在Android操作栏中向后退按钮添加替代功能

[英]How to add alternate function to back button in action bar Android

最终,按下后退按钮时将调用的新方法将执行与常规后退按钮相同的任务:切换到上一个Activity 但是,我也想将文本String传递给上一个Activity 默认的后退按钮方法不执行此操作。 我需要找到一种方法,以便可以将String传递回其他操作。

一个示例就是将IntentputExtra()方法一起使用,使我能够成功传递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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM