Использование списка и добавление данных для следующего класса - PullRequest
0 голосов
/ 06 декабря 2018

Итак, я пытался разработать приложение, где вы заказываете бутерброды самостоятельно.До сих пор я справился со всем с помощью списка, какие типы бутербродов вы можете заказать и т. Д.

Но я не уверен в следующем шаге, когда кто-то нажимает на определенный элемент, элемент должен быть каким-то образом сохранен.Мое предположение в Arraylist?

Так вот, для чего мне нужна помощь, каким-то образом запишите щелчок, чтобы пользователь мог увидеть, какие предметы он щелкнул, и подтвердить покупку на следующем экране (который будет следующим классом).

Я видел это видео на YouTube, https://www.youtube.com/watch?v=VBN3LMb7rss&t=166s, вот как я хочу "сохранить" "данные" или что-то подобное.

С уважением, Вот мой код.

 package com.example.boo.cafestudent;

 import android.content.Intent;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
 import android.widget.ListAdapter;
 import android.widget.ListView;
 import android.widget.Toast;

 import java.util.ArrayList;

 public class Order extends AppCompatActivity {

//ListView mackorListView;
//ArrayList <string> order_item_name;
// public final ArrayList<String> bestallning = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.orderactivity);

    String[] mackor ={"Ostsmörgås","Skinksmörgås","Ost och Skinksmörgås",      "Salamismörgås","Räksmörgås",
 "Rensmörgås", "Älgsmörgås", "Köttbullesmörgås"};



 ListAdapter johansadapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, mackor);

    //hämtar ListView
 ListView mackorListView = (ListView) findViewById(R.id.ListViewMackor);

//Hämtar data från array stringen

   // final String[] array_mackor =     getResources().getStringArray(R.array.arraymackor);

    //skapandet av en array adapter

    //Själva adaptern till ListView
    mackorListView.setAdapter(johansadapter);


    //kopplar onClicklistener till Listvie
    mackorListView.setOnItemClickListener(
            new AdapterView.OnItemClickListener(){
                @Override
                public void onItemClick(AdapterView<?> parent, View view,     int position, long id){
                    String mackor = String.valueOf(parent.getItemAtPosition(position));
                    Toast.makeText(Order.this, mackor + " har lagts      till", Toast.LENGTH_LONG).show();

                }
            }
    );
}



public void onClick (View View){
    Intent i = new Intent (getApplicationContext(), Confirmation.class);
    //Intent.putExtra("bestallning",bestallning);
    startActivity(i);
 }}

1 Ответ

0 голосов
/ 06 декабря 2018

Просто добавляйте элемент, нажатый в Arraylist каждый раз, когда на него нажимают.Объявите массив в верхней части как переменную экземпляра.Код может выглядеть следующим образом.Если вы хотите получить доступ к значениям массива в другом действии или классе, используйте putExtra () или объявите открытый статический массив arraylist.

 ArrayList<String> clickedSandwiches = new ArrayList<String>();



   mackorListView.setOnItemClickListener(
            new AdapterView.OnItemClickListener(){
                @Override
                public void onItemClick(AdapterView<?> parent, View view,     int position, long id){
                    String mackor = String.valueOf(parent.getItemAtPosition(position));
                    Toast.makeText(Order.this, mackor + " har lagts      till", Toast.LENGTH_LONG).show();
                    clickedSandwiches.add(mackor);

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