Android-在对话框中修改句柄
可能重复:Android-在对话框中修改句柄,android,android-layout,android-emulator,android-widget,Android,Android Layout,Android Emulator,Android Widget,可能重复: 我早些时候问了一个类似的问题。但是,当我试图修改customDialog中定义的某个元素的句柄时,代码仍然会崩溃 super.onCreate(savedInstanceState); setContentView(R.layout.customdialog); Context mContext = getApplicationContext(); Dialog dialog = new Dialog(mContext); dialog.
我早些时候问了一个类似的问题。但是,当我试图修改customDialog中定义的某个元素的句柄时,代码仍然会崩溃
super.onCreate(savedInstanceState);
setContentView(R.layout.customdialog);
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.customdialog);
dialog.setTitle("Send Message");
EditText phoneNumber = (EditText)dialog.findViewById(R.id.customDialogPhoneNumber1);
phoneNumber.setText("Hello");
如果我只是删除phoneNumber.setText(“…”),代码将停止崩溃,并显示对话框。但是,我确实需要从句柄到各种元素获取内容
知道我做错了什么吗?试试这个:
创建一个扩展对话框的类,并在其onCreate中执行setContentView和按钮实例化等操作。
例如:
public CustomDialog(Context context) {
super(context);
}
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b = (Button) findViewById(R.id.button_left);
}
public void setBListener(View.OnClickListener bListener) {
b.setOnClickListener(bListener);
}
在您的活动中:
CustomDialog d = construct your custom dialog
OnClickListener onBClick = construct your onclicklistener
d.setBListener(onBClick);
相反,你应该在上一个问题中提到/更新相同的内容。别担心,肯定会有人提供答案的。在这里问多余的问题是不可取的。对不起,帕雷什-我会确保我不会再这样做了。我是stackoverflow的新手,请不要对我说抱歉,我只是让你了解这个社区。您应该先阅读以下常见问题解答:,不要担心它会发生,因为您还不熟悉。