0
alertdialogにチェックボックスを表示しています。ユーザーが[OK]をクリックすると、PHP、Java、JSONを選択したようにトーストが表示されます。今、IDを表示しています。どのように値を取得できますか?トーストにarraylistの値を表示するにはどうすればいいですか?
Dialog dialog;
final String[] items = {" Objective C", " JAVA", " JSON", " C#", "PHP"};
final ArrayList itemsSelected = new ArrayList();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Languages you know : ");
builder.setMultiChoiceItems(items, null,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int selectedItemId,
boolean isSelected) {
if (isSelected) {
itemsSelected.add(selectedItemId);
} else if (itemsSelected.contains(selectedItemId)) {
itemsSelected.remove(Integer.valueOf(selectedItemId));
}
}
})
.setPositiveButton("Done!", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
//Your logic when OK button is clicked
Toast.makeText(MainActivity.this,"You've selected "+itemsSelected,Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
}
});
dialog = builder.create();
dialog.show();
[UPDATE]解決策は見つかりましたが、理想的ではないようです。今のところ、次のコードを追加して作業しています。
String one="";
String two="";
String three="";
String four="";
String zero="";
if (s.contains("0"))
{
zero="Obj C ";
}
if (s.contains("1"))
{
one="JAVA ";
} if (s.contains("2"))
{
two="JSON ";
} if (s.contains("3"))
{
three="C# ";
} if (s.contains("4"))
{
four="PHP ";
}
IDは、MuliChoiceDilaogを作成するために使用した配列内の位置です! (その項目[ID]はここにあります)。 –
詳しく説明してください。私はそれを得ることができませんでした。 –
itemsSelectedの内容を見ると、選択されたitems []のインデックスです。 – emhomm4