【发布时间】:2017-09-30 13:43:55
【问题描述】:
我正在尝试在来自this 答案的警报对话框中添加 GridView。
我当前的工作警报对话框正在使用如下代码中的单选项
private void showGotoPageDialog() {
if (mTotalPages > 0) {
AlertDialog.Builder builder = new AlertDialog.Builder(
getActivity(), R.style.AlertDialogTheme);
builder.setTitle("Go to Page:");
builder.setSingleChoiceItems(mPageOptions, mPageIndx - 1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int item) {
mOptionDiag.dismiss();
mPageIndx = item + 1;
updateQuotesListServer();
updatePageInfo();
}
});
builder.setNegativeButton("Dismiss",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
}
});
mOptionDiag = builder.create();
mOptionDiag.show();
}
}
用于列表的代码如下所示
mTotalPages = (int) Math.ceil(totalQuotes / ITEMS_PER_PAGE);
mPageIndx = 1;
mPageOptions = new String[mTotalPages];
for (int i = 1; i <= mTotalPages; i++) {
mPageOptions[i - 1] = "Page " + i;
}
现在我这样做是为了在 GridView 中转换上面的对话,如下所示
private void showGotoPageDialog() {
//
// if (mTotalPages > 0) {
GridView gridView = new GridView(getActivity());
List<Integer> mList = new ArrayList<Integer>();
for (int i = 1; i<mTotalPages; i++) {
mList.add(i-1)= boolean i;
/* final int mPageOptions;
for (int i = 1; i <= mTotalPages; i++) {
mPageOptions[i - 1] = i;
}*/
}
gridView.setAdapter(new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, mList));
gridView.setNumColumns(5);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
}
});
AlertDialog.Builder builder = new AlertDialog.Builder(
getActivity(), R.style.AlertDialogTheme);
builder.setTitle("Go to Page:");
builder.setView(gridView);
builder.show();
我无法在 GridView 对话框中为这行代码设置完美的代码。
for (int i = 1; i<mTotalPages; i++) {
mList.add(i-1)= boolean i;
如果有人可以建议我正确的代码,请告诉我。 谢谢
【问题讨论】:
-
你的
updateQuotesListServer(); updatePageInfo();方法在哪里? -
@sushildlh 它的功能我在用户选择项目时调用。谢谢