Как показать блесну с данными из фрагмента? - PullRequest
0 голосов
/ 25 марта 2019

Привет, я делаю приложение, которое создает графики для добавления ребра, я выбрал получить его в диалоговом окне, которое показывает все уже готовые узлы, как я могу отправить данные списка в спиннер Dialog?

это мое меню, которое создает узлы и ребра:

private BottomNavigationView.OnNavigationItemSelectedListener selectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.action_add_node:
                    if (pos < criaNos.length) {
                        graph.addNode(criaNos[pos]);
                        graph.getNode(criaNos[pos]).setAttribute("ui.label", criaNos[pos]);
                        graph.getNode(criaNos[pos]).setAttribute("xy", x, y);
                        nos.add(criaNos[pos]);
                        pos++;
                        x += 2.0f;
                        y += 1.5f;
                    }else {
                        Toast.makeText(getActivity(), "Não pode adcionr mais nós", Toast.LENGTH_SHORT).show();
                    }

                    return true;

                case R.id.action_add_aresta:
                    openDialogAddAresta();
                    return true;

                case R.id.action_remover:
                    Toast.makeText(getActivity(), "Ultimo no"+nos.get(0), Toast.LENGTH_SHORT).show();
                    return true;
            }
            return false;
        }
    };

, которое вызывает мой диалог:

public void openDialogAddAresta() {
        adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item);

        DialogAddAresta dialogAddAresta = new DialogAddAresta();
        dialogAddAresta.show(getActivity().getSupportFragmentManager(), "Add Aresta");
    }

мой диалог в другом классе:

    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(Objects.requireNonNull(getActivity()));

        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.layout_dialog_add_aresta, null);

        spTo = view.findViewById(R.id.sp_to);
        spFrom = view.findViewById(R.id.sp_from);

        ArrayAdapter<String> nodeTo = new ArrayAdapter<String>(getActivity(),
                android.R.layout.simple_spinner_dropdown_item
                );
        nodeTo.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spTo.setAdapter(nodeTo);

        builder.setView(view)
                .setTitle("Add Aresta")
                .setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                })
                .setPositiveButton("Add", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });

        return builder.create();
    }

появляется диалоговое окно, но я не могу получить додо на моем счетчике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...