有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何注册和引用回调接口?

当我需要从活动B回调回活动a时,我通常将活动B中的引用变量设置为“静态”。我意识到,如果用户旋转设备,生命周期方法将删除我的引用

这是唯一的缺点吗?有没有更好的方法在没有静态引用的情况下注册。简单地将所有数据放在应用程序类中是否更好?-谢谢

    public class MainActivity extends Activity implements InterfaceMainActivityTwo {
    static Main2Activity main2Activity;

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            main2Activity = new Main2Activity();
            main2Activity.setDataListener(this);
    }


        @Override
        public void getDataMainActivityTwo(String string) {
            tvTextData.setText(string);
        }

    }


    public class Main2Activity extends Activity {

        static InterfaceMainActivityTwo mGetDataInterface;

     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
    }

        public void getDataSaveBtn(View v) {

            if (mGetDataInterface != null)
                mGetDataInterface.getDataMainActivityTwo(fullName);
            else
                Toast.makeText(this, "IS NULL.INTERFACE NOT INITIALIZED !!!!", Toast.LENGTH_SHORT).show();
    }

    /////////// interface setup
   interface InterfaceMainActivityTwo  {
        void getDataMainActivityTwo(String string);
    }

    public void setDataListener(InterfaceMainActivityTwo  listener) {
        this.mGetDataInterface = listener;
    }

    }

共 (0) 个答案