Java 如何使listView中的按钮在单击时工作?

Java 如何使listView中的按钮在单击时工作?,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我基本上是在创建一个购物车应用程序,我的listView是从我现有的数据库中填充的,它为您提供商品的商店、品牌、价格、描述和图像,每个图像的信息都存储在数据库中,并放入我创建的一个商品类中。因此,对于listView中显示的每个项目,它还将在每个图像的底部显示“添加到购物车”按钮,以便我可以单击该按钮并将其添加到购物车,这将是另一个活动。基本上,当我单击此按钮时,我希望运行一个查询,将该项目添加到我的数据库中,然后我将查询购物车活动中所有添加的项目,以便在那里显示我添加到购物车中的所有项目。因此

我基本上是在创建一个购物车应用程序,我的listView是从我现有的数据库中填充的,它为您提供商品的商店、品牌、价格、描述和图像,每个图像的信息都存储在数据库中,并放入我创建的一个商品类中。因此,对于listView中显示的每个项目,它还将在每个图像的底部显示“添加到购物车”按钮,以便我可以单击该按钮并将其添加到购物车,这将是另一个活动。基本上,当我单击此按钮时,我希望运行一个查询,将该项目添加到我的数据库中,然后我将查询购物车活动中所有添加的项目,以便在那里显示我添加到购物车中的所有项目。因此,当我点击按钮时,我如何获得特定的项目并执行查询?它将如何获得该项目?我已经在下面发布了我的代码文件,任何帮助都会很好

shirtsActivity.java

package ankitkaushal.app.healthysizing;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.Toast;
import java.io.IOException;
import java.util.ArrayList;

public class shirtsActivity extends ActionBarActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shirts);

        final SearchView shirtViewShirts = (SearchView) findViewById(R.id.searchView3);
        final DatabaseHelper dbhelper;
        final ListView listView;
        final ListAdapter shirtsAdapter;

        dbhelper = new DatabaseHelper(getApplicationContext());
        try {
            dbhelper.createDataBase();
        } catch (IOException e) {
            e.printStackTrace();
        }

        listView = (ListView) findViewById(R.id.listViewShirts);
        //List<Item> shirtsList = dbhelper.getAllShirts();
        ArrayList<Item> shirtsList = dbhelper.getAllShirts();

        if (shirtsList != null) {
            //shirtsAdapter = new ArrayAdapter<Item>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, shirtsList);
            shirtsAdapter = new ListItemAdapter(getApplicationContext(), shirtsList);
            listView.setAdapter(shirtsAdapter);
        }

        shirtViewShirts.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {

                //query = query.toLowerCase();
                //query = Character.toString(query.charAt(0)).toUpperCase()+query.substring(1);

                ListAdapter searchedShirtsAdapter;
                Log.e("Brand: ", query);
                ArrayList<Item> searchedShirtsList = dbhelper.getAllSearchedShirts(query);

                if (searchedShirtsList != null) {
                    searchedShirtsAdapter = new ListItemAdapter(getApplicationContext(), searchedShirtsList);
                    listView.setAdapter(searchedShirtsAdapter);
                }

                listView.setEmptyView(findViewById(R.id.empty_shirts_message));

                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }

        });

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            }
        });

    }

}
package ankitkaushal.app.healthysizing;

public class Item {

    private String brand;
    private String size;
    private String price;
    private String store;
    private String description;
    private String ID;
    private String gender;

    public Item() {

    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public void setSize(String size) {
        this.size = size;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public void setStore(String store) {
        this.store = store;
    }

    public void setDescription(String description) {this.description = description;}

    public String getStore() {
        return store;
    }

    public String getPrice() {
        return price;
    }

    public String getGender() {return gender; }

    public String getSize() {
        return size;
    }

    public String getBrand() {
        return brand;
    }

    public String getID() {
        return ID;
    }

    public String getDescription() {return description; }

    @Override
    public String toString() {
        return (this.brand + "  " + this.store + "  " + this.price + "  " + this.description);
    }

}
package ankitkaushal.app.healthysizing;

import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public final class ListItemAdapter extends ArrayAdapter<Item> implements View.OnClickListener{

    public ListItemAdapter(Context context, ArrayList<Item> shirtItems) {
        super(context, 0, shirtItems);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        // Get the data item for this position
        Item item = getItem(position);

        // Check if an existing view is being reused, otherwise inflate the view
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_layout_shirts, parent, false);
        }

        // Lookup view for data population
        TextView brand = (TextView) convertView.findViewById(R.id.txt_shirt_brand);
        TextView price = (TextView) convertView.findViewById(R.id.txt_shirt_price);
        TextView store = (TextView) convertView.findViewById(R.id.txt_shirt_store);
        TextView size = (TextView) convertView.findViewById(R.id.txt_shirt_size);
        TextView description = (TextView) convertView.findViewById(R.id.txt_shirt_description);
        ImageView shirtsImage = (ImageView) convertView.findViewById(R.id.image_view_shirts);
        Button addToCartButton = (Button) convertView.findViewById(R.id.addToCartButton);

        // Populate the data into the template view using the data object
        brand.setText("Brand:" + "  " + item.getBrand());
        price.setText("Price:" + "  $" + item.getPrice());
        store.setText("Store:" + "  " + item.getStore());
        size.setText("Size:" + "  " + item.getSize());
        description.setText("Description:" + "  " + item.getDescription());

        Context context = parent.getContext();

        try {
            String itemName = item.getID();
            itemName = itemName.toLowerCase();
            String uri1 = "@drawable/"+itemName;
            int imageResource = context.getResources().getIdentifier(uri1, null, context.getApplicationContext().getPackageName());
            Drawable drawable = context.getResources().getDrawable(imageResource);
            shirtsImage.setImageDrawable(drawable);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Drawable drawable = context.getResources().getDrawable(R.drawable.shirts); // Default image
            shirtsImage.setImageDrawable(drawable);
        }

        addToCartButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                //to get a specific item
                Toast.makeText(getContext(), "Your item has been added to the cart!", Toast.LENGTH_LONG).show();


            }
        });

        // Return the completed view to render on screen
        return convertView;

    }


    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    }

}
listItemAdapter.java

package ankitkaushal.app.healthysizing;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.Toast;
import java.io.IOException;
import java.util.ArrayList;

public class shirtsActivity extends ActionBarActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shirts);

        final SearchView shirtViewShirts = (SearchView) findViewById(R.id.searchView3);
        final DatabaseHelper dbhelper;
        final ListView listView;
        final ListAdapter shirtsAdapter;

        dbhelper = new DatabaseHelper(getApplicationContext());
        try {
            dbhelper.createDataBase();
        } catch (IOException e) {
            e.printStackTrace();
        }

        listView = (ListView) findViewById(R.id.listViewShirts);
        //List<Item> shirtsList = dbhelper.getAllShirts();
        ArrayList<Item> shirtsList = dbhelper.getAllShirts();

        if (shirtsList != null) {
            //shirtsAdapter = new ArrayAdapter<Item>(getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, shirtsList);
            shirtsAdapter = new ListItemAdapter(getApplicationContext(), shirtsList);
            listView.setAdapter(shirtsAdapter);
        }

        shirtViewShirts.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {

                //query = query.toLowerCase();
                //query = Character.toString(query.charAt(0)).toUpperCase()+query.substring(1);

                ListAdapter searchedShirtsAdapter;
                Log.e("Brand: ", query);
                ArrayList<Item> searchedShirtsList = dbhelper.getAllSearchedShirts(query);

                if (searchedShirtsList != null) {
                    searchedShirtsAdapter = new ListItemAdapter(getApplicationContext(), searchedShirtsList);
                    listView.setAdapter(searchedShirtsAdapter);
                }

                listView.setEmptyView(findViewById(R.id.empty_shirts_message));

                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }

        });

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            }
        });

    }

}
package ankitkaushal.app.healthysizing;

public class Item {

    private String brand;
    private String size;
    private String price;
    private String store;
    private String description;
    private String ID;
    private String gender;

    public Item() {

    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public void setSize(String size) {
        this.size = size;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public void setStore(String store) {
        this.store = store;
    }

    public void setDescription(String description) {this.description = description;}

    public String getStore() {
        return store;
    }

    public String getPrice() {
        return price;
    }

    public String getGender() {return gender; }

    public String getSize() {
        return size;
    }

    public String getBrand() {
        return brand;
    }

    public String getID() {
        return ID;
    }

    public String getDescription() {return description; }

    @Override
    public String toString() {
        return (this.brand + "  " + this.store + "  " + this.price + "  " + this.description);
    }

}
package ankitkaushal.app.healthysizing;

import java.util.ArrayList;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public final class ListItemAdapter extends ArrayAdapter<Item> implements View.OnClickListener{

    public ListItemAdapter(Context context, ArrayList<Item> shirtItems) {
        super(context, 0, shirtItems);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        // Get the data item for this position
        Item item = getItem(position);

        // Check if an existing view is being reused, otherwise inflate the view
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_layout_shirts, parent, false);
        }

        // Lookup view for data population
        TextView brand = (TextView) convertView.findViewById(R.id.txt_shirt_brand);
        TextView price = (TextView) convertView.findViewById(R.id.txt_shirt_price);
        TextView store = (TextView) convertView.findViewById(R.id.txt_shirt_store);
        TextView size = (TextView) convertView.findViewById(R.id.txt_shirt_size);
        TextView description = (TextView) convertView.findViewById(R.id.txt_shirt_description);
        ImageView shirtsImage = (ImageView) convertView.findViewById(R.id.image_view_shirts);
        Button addToCartButton = (Button) convertView.findViewById(R.id.addToCartButton);

        // Populate the data into the template view using the data object
        brand.setText("Brand:" + "  " + item.getBrand());
        price.setText("Price:" + "  $" + item.getPrice());
        store.setText("Store:" + "  " + item.getStore());
        size.setText("Size:" + "  " + item.getSize());
        description.setText("Description:" + "  " + item.getDescription());

        Context context = parent.getContext();

        try {
            String itemName = item.getID();
            itemName = itemName.toLowerCase();
            String uri1 = "@drawable/"+itemName;
            int imageResource = context.getResources().getIdentifier(uri1, null, context.getApplicationContext().getPackageName());
            Drawable drawable = context.getResources().getDrawable(imageResource);
            shirtsImage.setImageDrawable(drawable);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Drawable drawable = context.getResources().getDrawable(R.drawable.shirts); // Default image
            shirtsImage.setImageDrawable(drawable);
        }

        addToCartButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                //to get a specific item
                Toast.makeText(getContext(), "Your item has been added to the cart!", Toast.LENGTH_LONG).show();


            }
        });

        // Return the completed view to render on screen
        return convertView;

    }


    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    }

}
包ankitkaushal.app.healthysizing;
导入java.util.ArrayList;
导入android.content.Context;
导入android.graphics.drawable.drawable;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ImageView;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
公共最终类ListItemAdapter扩展ArrayAdapter实现View.OnClickListener{
公共ListItemAdapter(上下文,ArrayList shirtItems){
超级(上下文,0,衬衫);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//获取此职位的数据项
项目=获取项目(位置);
//检查是否正在重用现有视图,否则会膨胀视图
if(convertView==null){
convertView=LayoutInflater.from(getContext()).flate(R.layout.item\u layout\u shirts,parent,false);
}
//数据填充的查找视图
TextView品牌=(TextView)convertView.findViewById(R.id.txt\u shirt\u brand);
TextView价格=(TextView)convertView.findViewById(R.id.txt\u价格);
TextView存储=(TextView)convertView.findViewById(R.id.txt\u shirt\u存储);
TextView size=(TextView)convertView.findViewById(R.id.txt\u shirt\u size);
TextView description=(TextView)convertView.findViewById(R.id.txt\u shirt\u description);
ImageView衬衫image=(ImageView)convertView.findViewById(R.id.image\u view\u衬衫);
按钮addToCartButton=(按钮)convertView.findViewById(R.id.addToCartButton);
//使用数据对象将数据填充到模板视图中
brand.setText(“brand:“+”+item.getBrand());
price.setText(“price:”+“$”+item.getPrice());
store.setText(“store:“+”+item.getStore());
size.setText(“大小:“+”+项.getSize());
description.setText(“description:”+“”+item.getDescription());
Context=parent.getContext();
试一试{
字符串itemName=item.getID();
itemName=itemName.toLowerCase();
字符串uri1=“@drawable/”+itemName;
int-imageResource=context.getResources().getIdentifier(uri1,null,context.getApplicationContext().getPackageName());
Drawable Drawable=context.getResources().getDrawable(imageResource);
shirtsImage.setImageDrawable(可拉伸);
}捕获(例外e){
//TODO自动生成的捕捉块
Drawable Drawable=context.getResources().getDrawable(R.Drawable.shirts);//默认图像
shirtsImage.setImageDrawable(可拉伸);
}
addToCartButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
//获取特定项目
Toast.makeText(getContext(),“您的商品已添加到购物车中!”,Toast.LENGTH\u LONG.show();
}
});
//返回要在屏幕上渲染的已完成视图
返回视图;
}
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
}
}
活动\u shirts.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#29A9D2"
    android:weightSum="1"
    android:id="@+id/shirt">

    <SearchView
        android:layout_width="358dp"
        android:layout_height="wrap_content"
        android:id="@+id/searchView3"
        android:background="#ffffffff"
        android:queryHint="Search for specific brand" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/listViewShirts"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:fastScrollEnabled="true"
            android:nestedScrollingEnabled="false"
            android:paddingLeft="2dp"
            android:paddingRight="2dp" />

        <TextView
            android:id="@+id/empty_shirts_message"
            android:text="No Results Found"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textColor="#FFFFFF"
            android:gravity="center|top"
            android:textSize="25dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:visibility="invisible"
            android:layout_marginTop="10dp"/>

    </RelativeLayout>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_price"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/addToCartButton"
            android:layout_alignEnd="@+id/addToCartButton"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="-5dp"
            android:layout_marginTop="15dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_brand"
            android:layout_below="@+id/txt_shirt_price"
            android:layout_alignLeft="@+id/txt_shirt_price"
            android:layout_alignStart="@+id/txt_shirt_price"
            android:layout_marginBottom="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_store"
            android:layout_below="@+id/txt_shirt_brand"
            android:layout_alignLeft="@+id/txt_shirt_brand"
            android:layout_alignStart="@+id/txt_shirt_brand"
            android:layout_marginBottom="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_size"
            android:layout_below="@+id/txt_shirt_store"
            android:layout_alignLeft="@+id/txt_shirt_store"
            android:layout_alignStart="@+id/txt_shirt_store" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add item to Cart"
            android:id="@+id/addToCartButton"
            android:layout_below="@+id/txt_shirt_description"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15dp"
            android:focusable="false"
            android:focusableInTouchMode="false"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/image_view_shirts"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_toStartOf="@+id/addToCartButton"
            android:layout_alignBottom="@+id/txt_shirt_size"
            android:layout_alignParentTop="true"
            android:src="@drawable/shirts"
            android:layout_marginLeft="10dp"
            android:layout_toLeftOf="@+id/addToCartButton"
            android:layout_marginBottom="-20dp"
            android:layout_marginRight="-25dp"
            android:layout_marginTop="10dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_description"
            android:layout_below="@+id/image_view_shirts"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="20dp" />

    </RelativeLayout>

</LinearLayout>

项目布局衬衫.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#29A9D2"
    android:weightSum="1"
    android:id="@+id/shirt">

    <SearchView
        android:layout_width="358dp"
        android:layout_height="wrap_content"
        android:id="@+id/searchView3"
        android:background="#ffffffff"
        android:queryHint="Search for specific brand" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/listViewShirts"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:fastScrollEnabled="true"
            android:nestedScrollingEnabled="false"
            android:paddingLeft="2dp"
            android:paddingRight="2dp" />

        <TextView
            android:id="@+id/empty_shirts_message"
            android:text="No Results Found"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textColor="#FFFFFF"
            android:gravity="center|top"
            android:textSize="25dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:visibility="invisible"
            android:layout_marginTop="10dp"/>

    </RelativeLayout>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_price"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/addToCartButton"
            android:layout_alignEnd="@+id/addToCartButton"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="-5dp"
            android:layout_marginTop="15dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_brand"
            android:layout_below="@+id/txt_shirt_price"
            android:layout_alignLeft="@+id/txt_shirt_price"
            android:layout_alignStart="@+id/txt_shirt_price"
            android:layout_marginBottom="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_store"
            android:layout_below="@+id/txt_shirt_brand"
            android:layout_alignLeft="@+id/txt_shirt_brand"
            android:layout_alignStart="@+id/txt_shirt_brand"
            android:layout_marginBottom="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_size"
            android:layout_below="@+id/txt_shirt_store"
            android:layout_alignLeft="@+id/txt_shirt_store"
            android:layout_alignStart="@+id/txt_shirt_store" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add item to Cart"
            android:id="@+id/addToCartButton"
            android:layout_below="@+id/txt_shirt_description"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15dp"
            android:focusable="false"
            android:focusableInTouchMode="false"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/image_view_shirts"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_toStartOf="@+id/addToCartButton"
            android:layout_alignBottom="@+id/txt_shirt_size"
            android:layout_alignParentTop="true"
            android:src="@drawable/shirts"
            android:layout_marginLeft="10dp"
            android:layout_toLeftOf="@+id/addToCartButton"
            android:layout_marginBottom="-20dp"
            android:layout_marginRight="-25dp"
            android:layout_marginTop="10dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txt_shirt_description"
            android:layout_below="@+id/image_view_shirts"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="20dp" />

    </RelativeLayout>

</LinearLayout>

您应该使用hirtsActivity.java文件中的最后一个函数:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        }
    });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
}
});

您可以选择特定的项目,感谢id参数。

如果我这样做,那么按钮单击不起作用吗?那么,只有单击该项目中的listView,它才会起作用?那么,也许我可以在列表视图中为每个项目添加一些文本,使其看起来像一个按钮,然后使用您所说的内容?对不起,我没有仔细阅读您想要的内容。在toast之后,您可以通过以下方式使用按钮:addToCartButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View arg0){//TODO自动生成的方法存根//来获取特定项toast.makeText(getContext(),“您的物品已添加到购物车中!”,Toast.LENGTH_LONG).show();}});您可以通过向意图中添加额外内容来获取特定物品,例如item.getBrand(),item.getPrize()请让我再次解释我的问题。因此,实际上,当我单击按钮时,我不想开始新的活动。好的,因此在我的列表视图中,它会显示每个服装项目,并显示其价格、品牌、si