我正在尝试在特定对话框中提取用户输入。 但是,当我尝试使用findViewbyID并放入
时final EditText ExceedingLimitInput = (EditText)dialog.findViewbyId(R.id.ExceedingLimitInput);
Android Studio说没有定义对话框。我不太清楚我应该在这做什么。
我已经挖掘了一些与此相关的问题,但是大多数问题只涉及片段使用,而我没有使用任何片段。也许我正在扩展错误的课程?
有人可以说明为什么没有定义对话框,以及我如何解决它?
以下是我的参考代码:
设置菜单(主类)
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);
}
});
}
}
答案 0 :(得分:5)
喜欢
final EditText ExceedingLimitInput = (EditText)ExceedingLimitDialog.findViewbyId(R.id.ExceedingLimitInput);
在你的情况下dailog == ExceedingLimitDialog
答案 1 :(得分:1)
首先,你应该夸大你的观点
View view = View.inflate(this, R.layout.exceeding_limit_dialog, null);
然后将其设置为对话框
ExceedingLimitDialog.setContentView(view);
最后你可以找到你的EditText
final EditText ExceedingLimitInput = (EditText) view.findViewById(R.id.ExceedingLimitInput);