tôi là tạo ra một hộp thoại tùy chỉnh chứa một EditText để tôi có thể nhận được dữ liệu văn bản từ người dùng:vấn đề Dialog: requestFeature() phải được gọi trước khi thêm nội dung
final EditText newKey = (EditText) findViewById(R.id.dialog_result);
AlertDialog.Builder keyBuilder = new AlertDialog.Builder(StegDroid.this);
keyBuilder
.setCancelable(false)
.setPositiveButton("Try Again", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.v("Dialog","New Key: "+newKey.getText().toString());
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog dialog = keyBuilder.create();
dialog.setTitle("Decryption Failed");
dialog.setContentView(R.layout.decrypt_failed_dialog);
dialog.show();
Tuy nhiên tôi luôn có được ngoại lệ này:
01-11 18:49:00.507: ERROR/AndroidRuntime(3461): android.util.AndroidRuntimeException: requestFeature() must be called before adding content
01-11 18:49:00.507: ERROR/AndroidRuntime(3461): at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:181)
01-11 18:49:00.507: ERROR/AndroidRuntime(3461): at com.android.internal.app.AlertController.installContent(AlertController.java:199)
01-11 18:49:00.507: ERROR/AndroidRuntime(3461): at android.app.AlertDialog.onCreate(AlertDialog.java:251)
...
tại dòng dialog.show()
. Tôi nên làm gì để loại bỏ điều này?
Sẽ thật thú vị khi thêm nhận xét để người khác có thể dễ dàng tìm ra điều đã được thực hiện khác mà không phải so sánh mã. – codinguser
Bạn là đúng dude ... Tôi không có thời gian ngay bây giờ. Bạn có nhớ chỉnh sửa câu trả lời để làm cho câu trả lời chính xác hơn không? – Cristian
Cảm ơn! Bạn đã lưu ngày của tôi với "... bạn cần phải sử dụng setView (View) thay vì setContentView() ..." :) –