powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Android [игнор отключен] [закрыт для гостей] / Как вернуть результат из Activity2 в Activity1
6 сообщений из 6, страница 1 из 1
Как вернуть результат из Activity2 в Activity1
    #40109045
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только начал разбираться с Android. У меня есть ListView и кнопка Добавить на Activity1. При нажатии кнопки Добавить я хочу показывать Activity2 с edit'ами и кнопкой Сохранить. При нажатии Сохранить элемент должен добавиться в ListView Activity1. Как это реализовать?

так я вызываю Activity2

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
button_add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(this, ProductActivity.class);
                startActivity(intent);

                Bundle arguments = getIntent().getExtras();

                if(arguments!=null){
                    productList.add(new Product(4, arguments.get("name").toString()));
                    productArrayAdapter.notifyDataSetChanged();
                }

            }
        }); 



а что дальше?
...
Рейтинг: 0 / 0
Как вернуть результат из Activity2 в Activity1
    #40109060
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы уже пробовали гуглить? что нашли?
...
Рейтинг: 0 / 0
Как вернуть результат из Activity2 в Activity1
    #40109080
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
послал продукт в Activity2
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
button_add_product = (ImageButton) findViewById(R.id.button_add_product);

        button_add_product.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Product product = new Product(-1, "");

                Intent intent = new Intent(MainActivity.this, ProductActivity.class);
                intent.putExtra(Product.class.getSimpleName(), product);
                startActivity(intent);
            }
        });



получил продукт в Activity2

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Product product;

        Bundle arguments = getIntent().getExtras();

        if(arguments != null) {
            product = (Product) arguments.getSerializable(Product.class.getSimpleName());
            productID.setText(Integer.toString(product.id));
//            productID.setText(arguments.get("productID").toString());
        } else {
            product = new Product(-1, "");
        }




заполненные данные отправить обратно в Activity 1

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
button_save.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                product.id = Integer.parseInt((productID.getText().toString()));
                if (productName.getText().toString().trim() == "")
                    product.name = new String("Нет названия");
                else
                    product.name = productName.getText().toString();

                Intent intent = new Intent(ProductActivity.this, MainActivity.class);
                intent.putExtra(Product.class.getSimpleName(), product);
                intent.putExtra("method","product_add");
                startActivity(intent);
            }
        }); 



получить данные в Activity 1

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@Override
    protected void onRestart() {
        super.onRestart();

        Bundle arguments = getIntent().getExtras();

        if(arguments != null) {
            if (arguments.get("method").toString() == "product_add") {
                Product product = (Product) arguments.getSerializable(Product.class.getSimpleName());

                productList.add(product);
                productArrayAdapter.notifyDataSetChanged();
            }

//            productID.setText(arguments.get("productID").toString());
        }
    }
...
Рейтинг: 0 / 0
Как вернуть результат из Activity2 в Activity1
    #40109081
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Activity 1 не переходит
...
Рейтинг: 0 / 0
Как вернуть результат из Activity2 в Activity1
    #40109082
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нагуглил Activity Result API. буду курить
...
Рейтинг: 0 / 0
Как вернуть результат из Activity2 в Activity1
    #40109387
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
а что дальше?

Сходите, почитайте там: https://startandroid.ru/ru/uroki/vse-uroki-spiskom/68-urok-29-vyzyvaem-activity-i-poluchaem-rezultat-metod-startactivityforresult.html

И другие уроки тоже. Они хоть и устаревшие немного, но базовые аспекты пока актуальны.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Как вернуть результат из Activity2 в Activity1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (9): Анонимы (8), Yandex Bot
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]