簡體   English   中英

如何在吐司中顯示arraylist的值?

[英]How can I display values of arraylist in toast?

我在alertdialog中顯示復選框。 當用戶單擊“確定”時,應該顯示烤面包,就像您選擇了PHP,Java,JSON一樣。 現在,它的顯示ID。 我如何獲得價值?

  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();

[更新]我找到了解決方法,但似乎並不理想。 現在,它通過添加以下代碼來工作。

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 ";
                    }

這部分代碼

new DialogInterface.OnMultiChoiceClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int selectedItemId,
                                    boolean isSelected) {
                    if (isSelected) {
                        **itemsSelected.add(selectedItemId);**
                    } else if (itemsSelected.contains(selectedItemId)) {

itemsSelected.add(selectedItemId)只是將ID添加到您的arraylist中。 您不希望添加ID。 由於要添加精確的值,因此可以簡單地使用itemsSelected.add(items [selectedItemId])之類的東西,因為items數組包含需要顯示的值。 將正確的值放入arraylist后,可以使用itemsSelected.toString()之類的方法顯示吐司。 您還需要處理所有其他檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM