Java 使用listview并为下一个类添加数据

Java 使用listview并为下一个类添加数据,java,android-studio,Java,Android Studio,所以,我一直在尝试开发一个应用程序,你可以自己点三明治。到目前为止,我已经用listview管理了一切,你可以点什么样的三明治等等 但我不确定下一步是什么,当有人点击某个项目时,该项目必须以某种方式保存。我在Arraylist中的猜测 这就是我需要帮助的地方,记录下点击,这样用户可以看到他们点击了哪些项目,并在下一个屏幕上确认购买,这将是下一个类 我看了这个youtube视频,这就是我想要存储数据的方式,或者类似的东西 亲切问候,, 这是我的密码 package com.example.boo

所以,我一直在尝试开发一个应用程序,你可以自己点三明治。到目前为止,我已经用listview管理了一切,你可以点什么样的三明治等等

但我不确定下一步是什么,当有人点击某个项目时,该项目必须以某种方式保存。我在Arraylist中的猜测

这就是我需要帮助的地方,记录下点击,这样用户可以看到他们点击了哪些项目,并在下一个屏幕上确认购买,这将是下一个类

我看了这个youtube视频,这就是我想要存储数据的方式,或者类似的东西

亲切问候,, 这是我的密码

 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);
 }}

每次单击该项目时,只需将其添加到Arraylist中即可。将顶部的arraylist声明为实例变量。代码可能是这样的。如果要访问另一个活动或类中的数组值,请使用putExtra或声明arraylist public static

 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);

                }
            }
    );
}

一种方法是将项目存储在数据库中。Google提供了Room API来帮助您与数据库进行交互。我看到了这个youtube视频,这就是我想要存储数据的方式,或者类似的东西。您是说您想允许用户从列表中选择项目吗?然后你将如何处理这些物品?正确,然后用户将进入下一个活动,查看他们挑选的物品,然后确认订单。谢谢!一个通用的问题,当试图使用意图和新的窗口不移动时,它经常依赖于当前的活动,或者是一个UR试图得到的?很难在不实际看到代码的情况下,考虑在一个新的问题中问这个问题。如果我的回答解决了您的问题,请将其标记为已接受: