我正在尝试通过单击菜单中的选项来创建自定义对话框。我继续启动一个新活动,其 Intent 指向 customTextMessageDialog。
I 我能拿到手柄使用“phoneNumber = (EditText)dialog.findViewById(R.id.customDialogPhoneNumber1);”之类的代码到我的 customdialog.xml 文件中定义的任何小部件
但是,我无法使用此句柄执行任何操作。当我尝试为 EditText 句柄设置 Text() 时,或者如果为 xml 中定义的按钮之一设置 onClickListener 时,我的应用程序就会崩溃。知道为什么会发生这种情况以及如何解决这个问题吗?
另外,为什么我需要先创建一个 Dialog 实例,然后再在该实例上调用 findViewById ?
public class customTextMessageDialog extends Activity
{
EditText phoneNumber;
EditText message;
Button cancelButton;
Button sendButton;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.customdialog);
Dialog dialog = new Dialog(this);
phoneNumber = (EditText)dialog.findViewById(R.id.customDialogPhoneNumber1);
//phoneNumber.setTextColor(R.color.gray);
//phoneNumber.setText("ex: 4127214544");
message = (EditText)dialog.findViewById(R.id.customDialogMessage1);
cancelButton = (Button)dialog.findViewById(R.id.customDialogCancelButton1);
cancelButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
finish();
}
});
sendButton = (Button)dialog.findViewById(R.id.customDialogPhoneNumber1);
}
}
在您的代码中,您设置Activity
的内容查看customDialog
。您需要将对话框的布局设置为该布局。读this.
Do this:
dialog.setContentView(R.layout.customdialog);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)