如何从对话框中获取视图ID?

时间:2017-07-21 06:33:04

标签: android android-alertdialog

我有一个对话窗口,我有一个微调器。根据在所述微调器中选择的值,我必须将一些元素或其他元素加载到布局中。我有这个方法来做,但.setVisibility不起作用:

        Spinner spinnerTypeQuestion = (Spinner) dialog.findViewById(R.id.spinnerQuestionType);
    spinnerTypeQuestion.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            TextView wrapperRange;
            View viewQuestion = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_dialog, null);
            switch (position){
                case 0: // Range question
                    wrapperRange = (TextView) viewQuestion.findViewById(R.id.wrapperRange);
                    wrapperRange.setVisibility(View.VISIBLE);
                    break;
                case 1: // Open answer
                    wrapperRange = (TextView) viewQuestion.findViewById(R.id.wrapperRange);
                    wrapperRange.setVisibility(View.GONE);
                    break; 
                default:
                    break;
            }
        }
        @Override
        public void onNothingSelected(AdapterView<?> parent) {}
    });
你能帮助我吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

看起来我解决了自己的问题!如果有人遇到同样的问题,我会张贴它。

而不是像我一样使用 viewQuestion

wrapperRange = (TextView) viewQuestion.findViewById(R.id.wrapperRange);

您必须使用对话框作为参考:

wrapperRange = (TextView) dialog.findViewById(R.id.wrapperRange);