1

ダイアログボックスでのユーザー入力に基づいて、アクションバースピナーに一意の文字列を設定しようとしています。たとえば、ユーザーが文字列を入力し、スピナーにまだない場合は、そこに追加する必要があります。そのような実装は可能ですか? ArrayList クラスを使用してみましたが、もちろん、重複があります。hashset を使用する必要がありますか? ありがとう

// array of sample strings to popluate dropdown list
ArrayList<String> categories = new ArrayList<String>();

// create an array adapter to popluate dropdown list
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            getBaseContext(),
            android.R.layout.simple_spinner_dropdown_item, categories);

 //thats the alert dialog through which user enters strings
 AlertDialog.Builder alert = new AlertDialog.Builder(this);

        alert.setTitle("New category");
        alert.setMessage("Please enter a new category ");

        // Set an EditText view to get user input
        final EditText input = new EditText(this);
        alert.setView(input);

        alert.setPositiveButton("Ok",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int whichButton) {
                        Editable value = input.getText();
                        // Do something with value!

                        categories.add(value.toString());

                    }
                });
4

1 に答える 1