gpt4 book ai didi

java - 在我的项目列表中添加删除按钮

转载 作者:行者123 更新时间:2023-12-01 13:45:27 24 4
gpt4 key购买 nike

我对 Java 和 Android 开发相当陌生。我目前正在创建一个购物应用程序,并正在考虑将“删除”按钮添加到我的购物车列表中。

这是我的购物车列表 Activity 的当前代码,我不太确定从哪里开始,非常感谢一些指导。

谢谢

package .shopper;

import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class CartListActivity extends ListActivity {

public class ProductListAdapter extends BaseAdapter {

private final Context context;

private List<Product> itemList;

public List<Product> getItemList() {
return itemList;
}

public void setItemList(List<Product> itemList) {
this.itemList = itemList;
}

public Context getContext() {
return context;
}

public ProductListAdapter(Context c) {
context = c;
}

@Override
public int getCount() {
if(itemList == null) return 0;
else return itemList.size();
}

@Override
public Object getItem(int position) {
if (itemList == null) return null;
else return itemList.get(position);
}

@Override
public long getItemId(int position) {
if (itemList == null) return 0;
else return itemList.get(position).hashCode();
}

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

if (cell == null) {
// get layout from mobile xml
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
cell = inflater.inflate(R.layout.adapter_product_list, parent, false);
}

Product p = itemList.get(position);

//set value into textview according to position
TextView textView = (TextView) cell.findViewById(R.id.product_title);
textView.setText(p.getProductName());

// add £ symbol
textView = (TextView) cell.findViewById(R.id.product_info);
textView.setText("Price: " + "£"+ p.getPrice());

//set value into imageview according to position
ImageView imgView = (ImageView) cell.findViewById(R.id.product_image);
// clear the image
imgView.setImageDrawable(null);
//and load from the network
p.loadImage(imgView, 54, 54);

return cell;
}

}

public static final Integer[] productIcons = {
0, // index 0 is empty
R.drawable.books,
R.drawable.films,
R.drawable.music,
R.drawable.games,
};

private int categoryId;
private ProductListAdapter adapter;
private ListViewLoader loader;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// get the category from the intent
Intent intent = getIntent();
categoryId = intent.getIntExtra(MainActivity.SELECTED_CATEGORY, 0);

adapter = new ProductListAdapter(this);
setListAdapter(adapter);

// Show the Up button in the action bar.
setupActionBar();

loader = new ListViewLoader(adapter, categoryId);
loader.execute(String.format(MainActivity.WEBSERVER_GETLIST, categoryId));
}

/**
* Set up the {@link android.app.ActionBar}.
*/
private void setupActionBar() {

getActionBar().setDisplayHomeAsUpEnabled(true);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.product_list, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.show_cart:
//create the intent for the cart activity
Intent intent = new Intent(getApplicationContext(), CartActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
//create an intent
Intent intent = new Intent(this, ProductActivity.class);
Product p = (Product)adapter.getItem(position);
//specify the extra parameters we want to pass
intent.putExtra(MainActivity.SELECTED_CATEGORY, p.getCategoryId());
intent.putExtra(MainActivity.SELECTED_PRODUCTID, p.getProductId());
intent.putExtra(MainActivity.SELECTED_PRODUCTNAME, p.getProductName());
intent.putExtra(MainActivity.SELECTED_PRODUCTPRICE, p.getPrice());
intent.putExtra(MainActivity.SELECTED_SUITABLEFORKIDS, p.getSuitableForKids());

startActivity(intent);
}

}

编辑:适配器产品列表的 XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<ImageView
android:id="@+id/product_image"
android:layout_width="54dp"
android:layout_height="54dp"
android:padding="5dp"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/product_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/product_image"
android:layout_alignTop="@+id/product_image"
android:textColor="#446688"
android:textSize="20sp" />
<TextView
android:id="@+id/product_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/product_image"
android:layout_below="@+id/product_title"
android:textColor="#777777"
android:textSize="16sp"
android:textStyle="italic" />


</RelativeLayout>

最佳答案

更改您的 xml,如下所示

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="8dp" >

<ImageView
android:id="@+id/product_image"
android:layout_width="54dp"
android:layout_height="54dp"
android:layout_alignParentLeft="true"
android:padding="5dp"
android:src="@drawable/ic_launcher" />

<TextView
android:id="@+id/product_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/product_image"
android:layout_toRightOf="@+id/product_image"
android:text="adjkajdjk"
android:textColor="#446688"
android:textSize="20sp" />

<TextView
android:id="@+id/product_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/product_title"
android:layout_toRightOf="@+id/product_image"
android:text="adjkajdjk"
android:textColor="#777777"
android:textSize="16sp"
android:textStyle="italic" />

<Button
android:id="@+id/delete_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Delete" />

</RelativeLayout>

并在您的适配器中的 getView() 函数中添加此

Button deleteBtn = (Button) findViewById(R.id.delete_btn);
deleteBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v)
{
itemList.remove(position);
notifyDataSetChanged();

}
});

关于java - 在我的项目列表中添加删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20402502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com