cuốn sách gpt4 ai đã làm

Chuyển đổi hộp kiểm trong MultiChoice AlertDialog trong android

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-01 21:33:31 25 4
mua khóa gpt4 Nike

CHÀO,

Tôi đã tạo ra Hộp thoại cảnh báo nhiều lựa chọn AlertDialog có năm mục danh sách có hộp kiểm. Khi tôi chọn hộp kiểm Đầu tiên, hãy viết điều này nếu các hộp kiểm khác trong danh sách được chọn thì chúng sẽ tự động được bỏ chọn và ngược lại.

Tôi đang kiểm tra đã được kiểm tra trạng thái trong trênClick phương pháp của OnMultiChoiceClickListener() và gọi showDialog(DIALOG_MULTIPLE_CHOICE); bằng cách cập nhật boolean[] đã kiểm traItems; để tạo lại Hộp thoại, nhưng tôi không thể đạt được nó. Nếu bạn có bất kỳ đề xuất nào, vui lòng hướng dẫn tôi cách đúng đắn.

Có cách nào để tạo lại sự kiện AlertDialog onClick khi nhấp vào nút radio không.

Đây là một số mã mẫu:

trường hợp DIALOG_MULTIPLE_CHOICE:
chuỗi cuối cùng[] lJobTypes = { "Item1", "Item2", "Item3","Item4", "Item5" };
trả về AlertDialog.Builder mới (JoblistPage.this)
// .setIcon(R.drawable.logo)
.setTitle("Tiêu đề ở đây")
// .setCustomTitle(m_Title)
.setMultiChoiceItems(lTypes, m_Selections,
DialogInterface.OnMultiChoiceClickListener mới() {

public void onClick(DialogInterface hộp thoại,int whichButton, boolean isChecked) {
/* Người dùng nhấp vào hộp kiểm để thực hiện một số thao tác */
nếu (được kiểm tra) {
m_CheckCount++;
// Chuyển đổi nút Radio Kiểm tra trạng thái
} khác {
m_CheckCount--;
}
}
}).setPositiveButton("Ok",
DialogInterface mới.OnClickListener() {

public void onClick(hộp thoại DialogInterface,
int whichButton) {
}
}).tạo nên();

Xin chào Vinayak

câu trả lời hay nhất

Không tạo lại hộp thoại, chỉ chuyển đổi hộp kiểm trong hộp thoại hiện tại. OnMultiChoiceClickListener của bạn có thể theo dõi hộp kiểm của Hoạt động hiện tại (nếu có) và bỏ chọn hộp kiểm đó khi một hộp kiểm khác được chọn. Đây là một ví dụ hoạt động được thử nghiệm đầy đủ:

gói com.stackoverflow.beekeeper;

import android.app.Activity;
nhập android.app.AlertDialog;
nhập android.app.AlertDialog.Builder;
nhập android.content.DialogInterface;
nhập android.content.DialogInterface.OnClickListener;
nhập android.content.DialogInterface.OnMultiChoiceClickListener;
nhập android.os.Bundle;
nhập android.widget.ListView;
nhập android.widget.Toast;

lớp công khai StackOverflowTest mở rộng Hoạt động {
/** Được gọi khi hoạt động được tạo lần đầu tiên */
@Ghi đè khoảng trống công khai onCreate(Gói cuối cùng đã lưuInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

int riêng tư mSelected = -1;

@Override được bảo vệ void onResume() {
super.onResume();
bản dựng Builder cuối cùng = new Builder(this);
build.setTitle("Lựa chọn danh sách");
build.setCancelable(true);
Chuỗi cuối cùng[] strings = Chuỗi mới[]{"Bò", "Ngựa", "Dê"};
cuối cùng OnMultiChoiceClickListener onClick =
OnMultiChoiceClickListener mới() {
@Override public void onClick(hộp thoại DialogInterface cuối cùng,
int cuối cùng, boolean cuối cùng được kiểm tra) {

nếu (được kiểm tra) {
if ((mSelected != -1) && (mSelected != which)) {
int oldVal cuối cùng = mSelected;
cuối cùng AlertDialog cảnh báo = hộp thoại (AlertDialog);
danh sách ListView cuối cùng = Alert.getListView();
list.setItemChecked(oldVal, false);
}
mSelected = cái nào;
} else
mĐã chọn = -1;
}
};
build.setMultiChoiceItems(chuỗi, null, onClick);
build.setPositiveButton("Xong", OnClickListener mới() {
@Override public void onClick(hộp thoại DialogInterface cuối cùng,
int cuối cùng nào) {
Thông báo chuỗi = null;
nếu (mSelected == -1)
message = "Bạn chưa chọn gì cả.";
khác
message = "Bạn đã chọn '" + strings[mSelected] + "'";
Toast.makeText(StackOverflowTest.this, tin nhắn, Toast.LENGTH_LONG).show();
}
});
build.show();
}
}

Một điều cần lưu ý: bạn phải chỉ định "null" cho tham số "checkedItems" trong lệnh gọi "setMultiChoiceItems" - nếu không lệnh gọi "setItemChecked" sẽ không hoạt động như mong đợi. Cuối cùng, nó sử dụng mảng đó để lưu trữ trạng thái đã kiểm tra và "setItemChecked" không cập nhật chính xác, vì vậy mọi thứ trở nên nhầm lẫn. Kỳ lạ nhưng có thật.

Về hộp kiểm android - Chuyển đổi trong MultiChoice AlertDialog trong android, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/3608018/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress