将所选产品添加到Android中的购物车

时间:2012-11-28 09:01:16

标签: java android xml-parsing android-listview shopping-cart

我使用xml解析开发了一个Android列表视图应用程序。这是为我的第一页完成的。

在我必须从列表中点击任何产品后,意味着我将在下一个活动中显示详细的产品说明。也已完成。

这里我必须实现一个部分。

详细的订单页面有一个按钮添加到购物车。我必须单击此按钮表示所选产品已添加到我的购物车上。我可以实现此。请帮助我。

这是我的第一个活动(使用xml解析的列表视图):

public class CustomizedListView extends Activity {
// All static variables
static final String URL = "http://192.168.1.168/tbc/watches.xml";
// XML node keys
static final String KEY_SONG = "Product"; // parent node
static final String KEY_ID = "productid";
static final String KEY_TITLE = "Name";
static final String KEY_ARTIST = "ProductURL";
static final String KEY_DURATION = "Price";
static final String KEY_THUMB_URL = "Image";

ListView list;
LazyAdapter adapter;

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

    ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();

    XMLParser parser = new XMLParser();
    String xml = parser.getXmlFromUrl(URL); // getting XML from URL
    Document doc = parser.getDomElement(xml); // getting DOM element

    NodeList nl = doc.getElementsByTagName(KEY_SONG);

    // looping through all song nodes &lt;song&gt;
    for (int i = 0; i < nl.getLength(); i++) {
        // creating new HashMap
        HashMap<String, String> map = new HashMap<String, String>();
        Element e = (Element) nl.item(i);
        // adding each child node to HashMap key =&gt; value
        map.put(KEY_ID, parser.getValue(e, KEY_ID));
        map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
        map.put(KEY_ARTIST, parser.getValue(e, KEY_ARTIST));
        map.put(KEY_DURATION, parser.getValue(e, KEY_DURATION));
        map.put(KEY_THUMB_URL, parser.getValue(e, KEY_THUMB_URL));

        // adding HashList to ArrayList
        songsList.add(map);
    }

    list=(ListView)findViewById(R.id.list);

    // Getting adapter by passing xml data ArrayList
    adapter=new LazyAdapter(this, songsList);
    list.setAdapter(adapter);

    // Click event for single list row
    list.setOnItemClickListener(new OnItemClickListener() {

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

            String title = ((TextView) view.findViewById(R.id.title)).getText().toString();
            String duration = ((TextView) view.findViewById(R.id.duration)).getText().toString();
            String artist = ((TextView) view.findViewById(R.id.artist)).getText().toString();
            String thumb_image = ((ImageView) view.findViewById(R.id.list_image)).getImageMatrix().toString();

            // Starting new intent
            Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class);
            in.putExtra(KEY_TITLE, title);
            in.putExtra(KEY_DURATION, duration);
            in.putExtra(KEY_ARTIST, artist);
            in.putExtra(KEY_THUMB_URL, thumb_image);

            startActivity(in);


        }
    });
   }
  }

这是详细的描述活动:

  public class SingleMenuItemActivity  extends Activity {
Button cart;
// XML node keys
static final String KEY_TITLE = "Name";
static final String KEY_DURATION = "Price";
static final String KEY_ARTIST = "ProductURL";
static final String KEY_THUMB_URL = "Image";

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



    int productIndex = getIntent().getExtras().getInt(CustomizedListView.URL);

    //final CustomizedListView selectedProduct = songsList.getInt(productIndex);
    cart = (Button)findViewById(R.id.cart);
    cart.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            //cart.add(selectedProduct);
            finish();
                }
        });

    // getting intent data
    Intent in = getIntent();

    // Get XML values from previous intent
    String title = in.getStringExtra(KEY_TITLE);
    String duration = in.getStringExtra(KEY_DURATION);
    String artist = in.getStringExtra(KEY_ARTIST);
    final String thumb_image = in.getStringExtra(KEY_THUMB_URL);
   // Displaying all values on the screen
    TextView lblName = (TextView) findViewById(R.id.name_label);
    TextView lblCost = (TextView) findViewById(R.id.cost_label);
    TextView lblDesc = (TextView) findViewById(R.id.description_label);
    ImageView imgv = (ImageView) findViewById(R.id.image_label);
    ImageLoader imageLoader = new ImageLoader(getApplicationContext());
    lblName.setText(title);
    lblCost.setText(duration);
    lblDesc.setText(artist);

    imageLoader.DisplayImage(thumb_image, imgv);
   }

 }

我必须在这些第二个活动中添加添加到购物车按钮。我必须在这里添加选择的产品项目的条件是添加到购物车。请给我一些有用的编码明智的解决方案。请帮助我。

0 个答案:

没有答案