MainActivity에서 Dialog의 객체 접근하는 법이 있나요?

조회수 659회

예를들어, MainActivity에서 Button을 이용해서 하나의 Dialog를 띄웁니다.


case R.id.txtCalibMain:
    SubMenu_Calib mCalibDialog = new SubMenu_Calib(instance);
    mCalibDialog.show();
    break;

이런식으로, 그런데 이 전 단계에서 그러니까 Dialog를 띄우기 전 단계에서 Dialog 내부에 TextView의 텍스트 내용을 미리 바꿔놓고 생성하고 싶다면 어떤식으로 접근할 수 있을까요?

현재 Dialog는 별도의 클라스를 이용하여 정의하고 부르는 것만 저런식으로 생성하여 부릅니다. 아무래도 바깥에서 미리 접근하려고 하니 null 값이나 정의가 되어 있지 않은 TextView를 불러오는거라는 에러가 뜨는게 당연한데 이걸 접근하는 방법이 알고 싶습니다...ㅠ

Dialog Code

public class SubMenu_Units extends Dialog implements View.OnClickListener {

    public static SubMenu_Units mSubMenu_Units;
    public static MainActivity instance;
    public static List<SingleItem> singleItems;
    static SingleAdapter mSingleAdapter;
    public static TextView mtxtTestMenu;

    public SubMenu_Units(Context context) {
        super(context);
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.submenu_units_layout);

        mSubMenu_Units = this;

        initialize();
        mtxtTestMenu = (TextView)findViewById(R.id.txtTestCenterMenu);
    }

    void initialize()
    {
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
        setCanceledOnTouchOutside(true);

        ColorDrawable dialogColor = new ColorDrawable(0xFF424957); // 0xFF424957
        getWindow().setBackgroundDrawable(dialogColor);

        mOrientation = getContext().getResources().getConfiguration().orientation;

            WindowManager.LayoutParams mPortrait_params = getWindow().getAttributes();
            mPortrait_params.width = 375;
            mPortrait_params.height = 945;
            mPortrait_params.gravity = Gravity.CENTER | Gravity.LEFT;
            mPortrait_params.x = 5;
            mPortrait_params.y = 68;
            getWindow().setAttributes(mPortrait_params);
    }
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)