Tôi có một chương trình đơn giản để hiển thị hộp thoại, với chế độ xem văn bản trong đó và nghe các nút tích cực/tiêu cực để thực hiện tác vụ tùy chỉnh trong mỗi (đọc edittext đó và lưu nội dung của nó) vào biến hoạt động).Hộp thoại Android có giao diện hộp thoại bên trong
Sự cố phát sinh khi tôi không thể thấy bất kỳ cách nào để khôi phục hộp thoại hiện tại của mình từ giao diện hộp thoại (và sau đó, tôi không thể khôi phục bất kỳ chế độ xem nào trong hộp thoại).
Có thể đó là câu hỏi noob, nhưng sau một số tìm kiếm trên google, tôi không có ai trả lời câu hỏi đó.
Mã của tôi là sau
LayoutInflater li = LayoutInflater.from(this);
View myView = li.inflate(R.layout.my_layout, null);
AlertDialog.Builder cDialog = new AlertDialog.Builder(this);
cDialog.setView(myView);
cDialog.setPositiveButton(R.string.start_download, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//here the code to retrieve dialog
}
});
cDialog.create();
Bất kỳ manh mối về nơi tôi có thể tìm thấy điều đó không?
Chào Slukian. Tôi đã cố gắng làm điều đó, nhưng trường hợp đó là từ lớp DialogInterface, không phải hộp thoại. DialogInterface không cung cấp phương thức findViewById ... do đó không hữu ích khi truy xuất nội dung của hộp thoại đã cho. – user1220817
@ user1220817 Tham số 'hộp thoại' đó là hộp thoại nhận được lần nhấp. Đưa nó vào 'AlertDialog' và sau đó gọi' findViewById() 'như sau:' EditText edit = (EditText) ((AlertDialog) dialog) .findViewById (R.id.editText1); '. – Luksprog
Rất tuyệt! cảm ơn bạn rất nhiều, đã không nhận thấy rằng DialogInterface có thể được truyền trực tiếp vào hộp thoại. Một lần nữa, cảm ơn bạn :) – user1220817