Java Android ArrayList,每行具有自定义数组

Java Android ArrayList,每行具有自定义数组,java,android,Java,Android,现在的问题是,无论我按下哪个元素,只有Coke500200被添加到数据库中(因为实际上,代码只做这一点)。 我想在我的屏幕上有一个项目列表,我为其创建了一个ArrayList。arraylist中的每一项都对应于一个具有三个元素的自定义行(为此我创建了一个特殊的布局和自定义适配器) 公共类ItemsScreenActivity扩展了AppCompatActivity{ MyDBHandler myDb=新的MyDBHandler(此); @凌驾 创建时受保护的void(Bundle saved

现在的问题是,无论我按下哪个元素,只有Coke500200被添加到数据库中(因为实际上,代码只做这一点)。 我想在我的屏幕上有一个项目列表,我为其创建了一个ArrayList。arraylist中的每一项都对应于一个具有三个元素的自定义行(为此我创建了一个特殊的布局和自定义适配器)

公共类ItemsScreenActivity扩展了AppCompatActivity{
MyDBHandler myDb=新的MyDBHandler(此);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.items\u屏幕);
ListView ListView=(ListView)findViewById(R.id.myList);
最终ArrayList项=新ArrayList();
最终数据模型coke=新数据模型(“coke”、“500”、“200”);
增加项目(cafea);
最终数据模型百事可乐=新数据模型(“百事可乐”、“500”、“200”);
添加(浓缩咖啡);
ListAdapter myAdapter=新的CustomAdapter(此,R.layout.custom_行,项);
ListView myList=(ListView)findViewById(R.id.myList);
myList.setAdapter(myAdapter);
myList.setOnItemClickListener(
新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串itemType=coke.getitemType().toString();
字符串数量=coke.getCantBautura().toString();
字符串卡路里=coke.getCantCarries().toString();
添加数据(项目类型、数量、卡路里);
}
}
);}
public void AddData(字符串项类型、字符串数量、字符串卡路里){
boolean insertData=myDb.addData(项目类型、数量、卡路里);
}
您需要更改

How can I write the array on the ItemsScreenActivity activity, so that when pressing on each element, its corresponding values are added to database?
    final ArrayList<DataModel> items = new ArrayList<DataModel>();
    final DataModel coke = new DataModel("Coke", "500", "200");
    items.add(cafea);
    final DataModel pepsi = new DataModel("Pepsi", "500", "200");
    items.add(espresso);
        final ArrayList<DataModel> items = new ArrayList<DataModel>();
        final DataModel coke = new DataModel("Coke", "500", "200");
        items.add(coke );
        final DataModel pepsi = new DataModel("Pepsi", "500", "200");
        items.add(pepsi );
 DataModel dataModel = (DataModel) myListView.getItemAtPosition(position);
 //  dataModel.name // "Coke"
 // dataModel.value  // "500"