首页 > 解决方案 > 如何从 Activity2 的按钮更改 Activity1 的 actionBar 标题

问题描述

我正在尝试在activity2(设置页面)中创建一个按钮,当单击该按钮时,activity1(MainActivity)的标题将更改为我设置的内容。我一直在尝试使用接口来执行该功能,但它给了我一个空指针异常错误。

主要活动

@Override
    public void changeActionBarTitle(String editText){
        actionTitle = editText;
        setTitle(actionTitle);
    };

界面

public interface ActionBarInterface {
    void changeActionBarTitle(String editText);
}

设置页面(活动二)

public class SettingsPage extends AppCompatActivity {
    ActionBarInterface actionBarInterface;
    Button editCompanyNameButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings_page);
        setTitle("Settings");

        editCompanyNameButton = findViewById(R.id.editCompanyNameButton);
        editCompanyNameButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                actionBarInterface.changeActionBarTitle("test");
            }
        });
    }
}

谢谢。

标签: javaandroid

解决方案


它给出了一个null pointer exception error因为actionBarInterface没有初始化。

查看有关“从活动中获取结果”的主题,使用类和函数,例如IntentstartActivityForResultonActivityResult

Android:如何使活动返回结果给调用它的活动?


推荐阅读