带对话框的 findViewbyID

findViewbyID with dialogs

我正在尝试提取特定对话框中的用户输入。 但是,当我尝试使用 findViewbyID 并输入

final EditText ExceedingLimitInput = (EditText)dialog.findViewbyId(R.id.ExceedingLimitInput);

Android Studio 说对话框未定义。我不太确定我应该在这里做什么。

我已经研究了一些与此相关的问题,但是其中大多数只与 Fragment 使用有关,而我没有使用任何 fragment。也许我扩展错了class?

谁能告诉我为什么没有定义对话框,我该如何解决?

这是我的代码供参考:

设置菜单(主Class)

package com.example.denny.protoype2;

import android.app.Dialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class SettingsMenu extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings_menu);
        //Exceeding Limit Dialog
        final Button ExceedingLimitButton = (Button)findViewById(R.id.ExceedingLimitButton);
        ExceedingLimitButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Dialog ExceedingLimitDialog = new Dialog(SettingsMenu.this);
                ExceedingLimitDialog.setTitle("Exceeding Limit Dialog");
                ExceedingLimitDialog.setContentView(R.layout.exceeding_limit_dialog);
                ExceedingLimitDialog.show();

                final EditText ExceedingLimitInput = (EditText)dialog.findViewbyId(R.id.ExceedingLimitInput);

            }
        });
    }
}

喜欢

 final EditText ExceedingLimitInput = (EditText)ExceedingLimitDialog.findViewbyId(R.id.ExceedingLimitInput);

对话框 == 超出限制对话框 你的情况

首先你应该膨胀你的观点

View view = View.inflate(this, R.layout.exceeding_limit_dialog, null);

然后将其设置为您的对话框

ExceedingLimitDialog.setContentView(view);

最后您可以找到您的 EditText

final EditText ExceedingLimitInput = (EditText) view.findViewById(R.id.ExceedingLimitInput);