首页 > 解决方案 > 如何以编程方式从另一个布局更改元素

问题描述

我有一个自定义对话框,其中包含自定义布局作为内容。

filterMainDialog.setContentView(R.layout.filter_main);

一切正常(显示和东西),但如果我尝试以编程方式更改该布局中的元素(如检查单选按钮),我的应用程序崩溃,我尝试了所有可能的方法。有什么建议吗?

标签: androidandroid-layoutandroid-dialog

解决方案


这可能是因为您的布局尚未膨胀,您的 onCreate 应该看起来像这样:

@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    final View content = View.inflate(getActivity(),
            R.layout.add_quantity_produced_dialog_frag, null);

    mNewQuantity = content.findViewById(R.id.new_quantity);
    mNewQuantity.setText(String.valueOf(mOriginalQuantity));

    final AlertDialog dialog = new AlertDialog.Builder(getActivity())
            .setView(content)
            .create();

    return dialog;
}

推荐阅读