ユーザーがフォームを選択するための項目のリストを表示するために、ArrayAdapter を使用して AlertDialog を作成しようとしています (単一選択)。ただし、以前に選択されたアイテムを表示したいと思います。アイテムを選択すると自動的にダイアログが閉じられるので、以前に選択したアイテムにカスタムの背景色を設定することを考えました。以下は、私が達成したいと考えているもののモックアップです。
私が現在持っているコードはこれです:
private void showCustomAlert(int alertNumber, int parentTaskId) {
Log.w(LOGTAG, showCustomAlert);
int alertNumberID = Integer.parseInt(task1_id);
if (alertNumber==2) alertNumberID = Integer.parseInt(task2_id);
else if (alertNumber==3) alertNumberID = Integer.parseInt(task3_id);
else if (alertNumber==4) alertNumberID = Integer.parseInt(task4_id);
AlertDialog.Builder builderSingle = new AlertDialog.Builder(thisActivity);
builderSingle.setIcon(R.drawable.icon);
builderSingle.setTitle("Select Task:");
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(thisActivity,
android.R.layout.select_dialog_singlechoice);
for (int i=0; i<taskList.size(); i++) {
BT_item tmpItem = taskList.get(i);
if (BT_strings.getJsonPropertyValue(tmpItem.getJsonObject(),"task_parent","").equalsIgnoreCase(parentTaskId + ""))
arrayAdapter.add(BT_strings.getJsonPropertyValue(tmpItem.getJsonObject(),"task_name",""));
}
builderSingle.setNegativeButton("cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderSingle.setAdapter(arrayAdapter,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int taskSelected) {
Log.w(LOGTAG, "task selected");
}
});
builderSingle.show();
}