Я новичок в Android Studio и застрял в этой концепции. Я пытаюсь передать данные «Цена + имя» в действие корзины при нажатии кнопки («Добавить в корзину»).
После попытки использования методов намерения кажется, что после нажатия кнопки «Добавить в корзину» открывается корзина с данными, но данные не сохраняются в новом действии для дополнительных добавлений.
Прямо сейчас у меня есть следующее:
Button button = (Button) findViewById(R.id.addcart);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//How to pass information here
}
});
Я надеюсь передать textView6 и textView7 в действие корзины. Если возможно, мне было бы интересно передать и изображение! Любое начало в этом отношении будет оценено. Спасибо!




Когда вы создаете свое намерение, вы должны:
Intent i = new Intent(this, ToClass.class);
i.putExtra("someName", findViewById(R.id.textView6 ).getText().toString());
i.putExtra("someName2", findViewById(R.id.textView7 ).getText().toString());
startActivity(i);
А затем во втором действии используйте:
Intent intent = getIntent();
String someName= intent.getStringExtra("someName");
String someName2= intent.getStringExtra("someName2");
Если у меня есть несколько кнопок «Добавить в корзину» на нескольких отдельных действиях, могу ли я просто сделать несколько неиспользуемых «строк», ожидающих getString в классе корзины?
@ user2592356 Тогда вам нужна какая-то база данных, попробуйте отредактировать свой первый пост тем, что вам действительно нужно
Вы говорите, что используете намерение, но что вы делаете с ценностями? Вы сохраняете их где-нибудь в CartActivity?
Для изображения просто передайте ссылку или название изображения. Нет необходимости передавать весь PNG ... и снова использовать намеренный вызов putExtra ().
Да, моя цель - переместить значения «Цена» и «Имя» на соответствующей странице (с помощью кнопки «Добавить в корзину») на страницу корзины. Однако мне нужно, чтобы эти значения закреплялись на странице корзины после их передачи, поскольку пользователь может снова добавить товар в корзину или может добавить другой товар в корзину.
Это другая проблема. Для этого вам понадобится какое-то хранилище данных. Запишите файл или сохраните в памяти в одноэлементном классе. Много способов сохранить состояние.
Для передачи данных о действиях вы можете использовать то же намерение, что и для открытия нового действия. Вы можете установить такие дополнительные функции:
Intent i = new Intent(context, CartActivity.class);
i.putExtra("price", textView6.getText().toString());
i.putExtra("name", textView7.getText().toString());
startActivity(i);
И затем в onCreate () только что созданного действия вы можете получить эти данные, используя намерение, используемое для открытия этого действия, и получение его дополнений:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent data = getIntent();
String price = data.getStringExtra("price");
String name = data.getStringExtra("name");
}
Надеюсь на эту помощь.
Это только временно передает данные, они не хранят данные там постоянно.
Для постоянного хранения данных вам необходимо использовать базу данных или общие настройки.
«Невозможно разрешить метод, getText»