Please help with events

Put problem concerning Views, Layouts and other XML-Resources (like AndroidManifest) here.

Please help with events

Postby dreamdelerium » Thu Jan 21, 2010 5:35 pm

i am reposting this, in hopes someone can assist me. thanks:

I am drawing bitmaps to a canvas and i wish to attach an event to each bitmap, dynamically. I dont just want an event to fire when someone clicks randomly on a screen. i just want an event to fire when some clicks on one of the nine images being displayed (and then to return the name of the object that was clicked on)
Bellow is the code i have so far. i am able to get an onlick event to fire when the user touches the screen but i want a unique event to fire only when an image is clicked. is it possible to do this?
Thanks for any assistance.
main.java:
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2.  
  3.  
  4. package com.Main;
  5.  
  6.  
  7.  
  8.  
  9.  
  10. import android.app.Activity;
  11.  
  12. import android.os.Bundle;
  13.  
  14.  
  15.  
  16. public class Main extends Activity {
  17.  
  18. board Board;
  19.  
  20.  
  21.  
  22. @Override
  23.  
  24. public void onCreate(Bundle savedInstanceState) {
  25.  
  26. super.onCreate(savedInstanceState);
  27.  
  28. Board = new board(this);
  29.  
  30. setContentView(Board);
  31.  
  32. Bundle bun = getIntent().getExtras();
  33.  
  34. }
  35.  
  36.  
  37.  
  38.  
  39.  
  40. }
  41.  
  42.  
Parsed in 0.031 seconds, using GeSHi 1.0.8.4


board.java:
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2. package com.Main;
  3.  
  4.  
  5.  
  6. import java.util.ArrayList;
  7.  
  8. import java.util.Collections;
  9.  
  10. import android.content.Context;
  11.  
  12. import android.graphics.Canvas;
  13.  
  14. import android.graphics.Color;
  15.  
  16. import android.graphics.Paint;
  17.  
  18. import android.view.View;
  19.  
  20.  
  21.  
  22. public class board extends View{
  23.  
  24.      private cards card1, card2, card3, card4, card5,card6,card7,card8,card9;
  25.  
  26.      private int cardCount = 81;
  27.  
  28.      private int cardsOnTable = 9;
  29.  
  30.      public board(Context context){
  31.  
  32.      super(context);
  33.  
  34.      ArrayList MyCards =  shuffleCards();
  35.  
  36.  
  37.  
  38.      card1 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  39.  
  40.      card1.setName((String)MyCards.get(81-cardCount));
  41.  
  42.      cardCount=cardCount-1;
  43.  
  44.  
  45.  
  46.      card2 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  47.  
  48.      card2.setName((String)MyCards.get(81-cardCount));
  49.  
  50.      cardCount=cardCount-1;
  51.  
  52.      
  53.  
  54.      card3 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  55.  
  56.      card3.setName((String)MyCards.get(81-cardCount));
  57.  
  58.      cardCount=cardCount-1;
  59.  
  60.      
  61.  
  62.      card4 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  63.  
  64.      card4.setName((String)MyCards.get(81-cardCount));
  65.  
  66.      cardCount=cardCount-1;
  67.  
  68.      
  69.  
  70.      card5 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  71.  
  72.      card5.setName((String)MyCards.get(81-cardCount));
  73.  
  74.      cardCount=cardCount-1;
  75.  
  76.      
  77.  
  78.      card6 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  79.  
  80.      card6.setName((String)MyCards.get(81-cardCount));
  81.  
  82.      cardCount=cardCount-1;
  83.  
  84.      
  85.  
  86.      card7 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  87.  
  88.      card7.setName((String)MyCards.get(81-cardCount));
  89.  
  90.      cardCount=cardCount-1;
  91.  
  92.      
  93.  
  94.      card8 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  95.  
  96.      card8.setName((String)MyCards.get(81-cardCount));
  97.  
  98.      cardCount=cardCount-1;
  99.  
  100.      
  101.  
  102.      card9 = new cards(context,getResources().getIdentifier((String)MyCards.get(81-cardCount), "drawable", "com.Main"));
  103.  
  104.      card9.setName((String)MyCards.get(81-cardCount));
  105.  
  106.      cardCount=cardCount-1;
  107.  
  108. }
  109.  
  110.      
  111.  
  112.      @Override protected void onDraw(Canvas canvas) {
  113.  
  114.      super.onDraw(canvas);
  115.  
  116.  
  117.  
  118.      Paint paint = new Paint();
  119.  
  120.      paint.setStyle(Paint.Style.FILL);
  121.  
  122.  
  123.  
  124.  
  125.  
  126.      // make the entire canvas white
  127.  
  128.      paint.setColor(Color.BLACK);
  129.  
  130.      canvas.drawPaint(paint);
  131.  
  132.      card1.setX(5);
  133.  
  134.      card1.setY(10);
  135.  
  136.      
  137.  
  138.  
  139.  
  140.      card2.setX(160);
  141.  
  142.      card2.setY(10);
  143.  
  144.  
  145.  
  146.      card3.setX(5);
  147.  
  148.      card3.setY(91);
  149.  
  150.  
  151.  
  152.      card4.setX(160);
  153.  
  154.      card4.setY(91);
  155.  
  156.  
  157.  
  158.      card5.setX(5);
  159.  
  160.      card5.setY(172);
  161.  
  162.  
  163.  
  164.      card6.setX(160);
  165.  
  166.      card6.setY(172);
  167.  
  168.  
  169.  
  170.      card7.setX(5);
  171.  
  172.      card7.setY(253);
  173.  
  174.  
  175.  
  176.      card8.setX(160);
  177.  
  178.      card8.setY(253);
  179.  
  180.  
  181.  
  182.      card9.setX(5);
  183.  
  184.      card9.setY(334);
  185.  
  186.  
  187.  
  188.      // draw some text using STROKE style
  189.  
  190.      paint.setStyle(Paint.Style.STROKE);
  191.  
  192.      paint.setStrokeWidth(1);
  193.  
  194.      paint.setColor(Color.BLACK);
  195.  
  196.      paint.setTextSize(30);
  197.  
  198.      paint.setAntiAlias(true);
  199.  
  200.  
  201.  
  202.      canvas.drawBitmap(card1.getBitmap(), card1.getX(), card1.getY(),null);
  203.  
  204.      canvas.drawBitmap(card2.getBitmap(), card2.getX(), card2.getY(),null);
  205.  
  206.      canvas.drawBitmap(card3.getBitmap(), card3.getX(), card3.getY(),null);
  207.  
  208.      canvas.drawBitmap(card4.getBitmap(), card4.getX(), card4.getY(),null);
  209.  
  210.      canvas.drawBitmap(card5.getBitmap(), card5.getX(), card5.getY(),null);
  211.  
  212.      canvas.drawBitmap(card6.getBitmap(), card6.getX(), card6.getY(),null);
  213.  
  214.      canvas.drawBitmap(card7.getBitmap(), card7.getX(), card7.getY(),null);
  215.  
  216.      canvas.drawBitmap(card8.getBitmap(), card8.getX(), card8.getY(),null);
  217.  
  218.      canvas.drawBitmap(card9.getBitmap(), card9.getX(), card9.getY(),null);
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.      invalidate();
  227.  
  228.  
  229.  
  230.      }
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.           static ArrayList shuffleCards() {
  239.  
  240.              //shuffles my card array
  241.  
  242.             // Collections.shuffle(myCardArray);
  243.  
  244.      ArrayList myCardArray = new ArrayList();
  245.  
  246.      myCardArray.add("gsf1");
  247.  
  248.      myCardArray.add("gse1");
  249.  
  250.      myCardArray.add("gsh1");
  251.  
  252.      myCardArray.add("gcf1");
  253.  
  254.      myCardArray.add("gce1");
  255.  
  256.      myCardArray.add("gch1");
  257.  
  258.      myCardArray.add("gtf1");
  259.  
  260.      myCardArray.add("gte1");
  261.  
  262.      myCardArray.add("gth1");
  263.  
  264.      myCardArray.add("bsf1");
  265.  
  266.      myCardArray.add("bse1");
  267.  
  268.      myCardArray.add("bsh1");
  269.  
  270.      myCardArray.add("bcf1");
  271.  
  272.      myCardArray.add("bce1");
  273.  
  274.      myCardArray.add("bch1");
  275.  
  276.      myCardArray.add("btf1");
  277.  
  278.      myCardArray.add("bte1");
  279.  
  280.      myCardArray.add("bth1");
  281.  
  282.      myCardArray.add("rsf1");
  283.  
  284.      myCardArray.add("rse1");
  285.  
  286.      myCardArray.add("rsh1");
  287.  
  288.      myCardArray.add("rcf1");
  289.  
  290.      myCardArray.add("rce1");
  291.  
  292.      myCardArray.add("rch1");
  293.  
  294.      myCardArray.add("rtf1");
  295.  
  296.      myCardArray.add("rte1");
  297.  
  298.      myCardArray.add("rth1");
  299.  
  300.      myCardArray.add("gsf2");
  301.  
  302.      myCardArray.add("gse2");
  303.  
  304.      myCardArray.add("gsh2");
  305.  
  306.      myCardArray.add("gcf2");
  307.  
  308.      myCardArray.add("gce2");
  309.  
  310.      myCardArray.add("gch2");
  311.  
  312.      myCardArray.add("gtf2");
  313.  
  314.      myCardArray.add("gte2");
  315.  
  316.      myCardArray.add("gth2");
  317.  
  318.      myCardArray.add("bsf2");
  319.  
  320.      myCardArray.add("bse2");
  321.  
  322.      myCardArray.add("bsh2");
  323.  
  324.      myCardArray.add("bcf2");
  325.  
  326.      myCardArray.add("bce2");
  327.  
  328.      myCardArray.add("bch2");
  329.  
  330.      myCardArray.add("btf2");
  331.  
  332.      myCardArray.add("bte2");
  333.  
  334.      myCardArray.add("bth2");
  335.  
  336.      myCardArray.add("rsf2");
  337.  
  338.      myCardArray.add("rse2");
  339.  
  340.      myCardArray.add("rsh2");
  341.  
  342.      myCardArray.add("rcf2");
  343.  
  344.      myCardArray.add("rce2");
  345.  
  346.      myCardArray.add("rch2");
  347.  
  348.      myCardArray.add("rtf2");
  349.  
  350.      myCardArray.add("rte2");
  351.  
  352.      myCardArray.add("rth2");
  353.  
  354.      myCardArray.add("gsf3");
  355.  
  356.      myCardArray.add("gse3");
  357.  
  358.      myCardArray.add("gsh3");
  359.  
  360.      myCardArray.add("gcf3");
  361.  
  362.      myCardArray.add("gce3");
  363.  
  364.      myCardArray.add("gch3");
  365.  
  366.      myCardArray.add("gtf3");
  367.  
  368.      myCardArray.add("gte3");
  369.  
  370.      myCardArray.add("gth3");
  371.  
  372.      myCardArray.add("bsf3");
  373.  
  374.      myCardArray.add("bse3");
  375.  
  376.      myCardArray.add("bsh3");
  377.  
  378.      myCardArray.add("bcf3");
  379.  
  380.      myCardArray.add("bce3");
  381.  
  382.      myCardArray.add("bch3");
  383.  
  384.      myCardArray.add("btf3");
  385.  
  386.      myCardArray.add("bte3");
  387.  
  388.      myCardArray.add("bth3");
  389.  
  390.      myCardArray.add("rsf3");
  391.  
  392.      myCardArray.add("rse3");
  393.  
  394.      myCardArray.add("rsh3");
  395.  
  396.      myCardArray.add("rcf3");
  397.  
  398.      myCardArray.add("rce3");
  399.  
  400.      myCardArray.add("rch3");
  401.  
  402.      myCardArray.add("rtf3");
  403.  
  404.      myCardArray.add("rte3");
  405.  
  406.      myCardArray.add("rth3");
  407.  
  408.  
  409.  
  410.      Collections.shuffle(myCardArray);
  411.  
  412.      return (myCardArray);
  413.  
  414.  
  415.  
  416.           }
  417.  
  418. }
  419.  
  420.  
  421.  
  422.  
Parsed in 0.068 seconds, using GeSHi 1.0.8.4


cards.java:

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2.  
  3.  
  4. package com.Main;
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. import android.content.Context;
  13.  
  14. import android.graphics.Bitmap;
  15.  
  16. import android.graphics.BitmapFactory;
  17.  
  18.  
  19.  
  20. public class cards {
  21.  
  22.  private Bitmap img; // the image of the ball
  23.  
  24.  private int coordX = 0; // the x coordinate at the canvas
  25.  
  26.  private int coordY = 0; // the y coordinate at the canvas
  27.  
  28.  private int sizeH = 100; // the x coordinate at the canvas
  29.  
  30.  private int sizeW = 150; // the y coordinate at the canvas
  31.  
  32.  private String cardName = "";
  33.  
  34.  
  35.  
  36.  private int id; // gives every ball his own id, for now not necessary
  37.  
  38.  private static int count = 1;
  39.  
  40.  private boolean goRight = true;
  41.  
  42.  private boolean goDown = true;
  43.  
  44.  
  45.  
  46.      public cards(Context context, int drawable) {
  47.  
  48.  
  49.  
  50.           BitmapFactory.Options opts = new BitmapFactory.Options();
  51.  
  52.         opts.inJustDecodeBounds = true;
  53.  
  54.         img = BitmapFactory.decodeResource(context.getResources(), drawable);
  55.  
  56.         id=count;
  57.  
  58.           count++;
  59.  
  60.  
  61.  
  62.      }
  63.  
  64.      
  65.  
  66.      public static int getCount() {
  67.  
  68.           return count;
  69.  
  70.      }
  71.  
  72.      
  73.  
  74.      void setX(int newValue) {
  75.  
  76.         coordX = newValue;
  77.  
  78.     }
  79.  
  80.      
  81.  
  82.      public int getX() {
  83.  
  84.           return coordX;
  85.  
  86.      }
  87.  
  88.      public int getH() {
  89.  
  90.           return sizeH;
  91.  
  92.      }
  93.  
  94.      public int getW() {
  95.  
  96.           return sizeW;
  97.  
  98.      }
  99.  
  100.      void setY(int newValue) {
  101.  
  102.         coordY = newValue;
  103.  
  104.    }
  105.  
  106.      
  107.  
  108.      void setW(int newValue) {
  109.  
  110.         sizeW = newValue;
  111.  
  112.    }
  113.  
  114.      
  115.  
  116.      void setH(int newValue) {
  117.  
  118.         sizeH = newValue;
  119.  
  120.    }
  121.  
  122.      
  123.  
  124.      public int getY() {
  125.  
  126.           return coordY;
  127.  
  128.      }
  129.  
  130.      
  131.  
  132.      void setName(String newValue) {
  133.  
  134.         cardName = newValue;
  135.  
  136.    }
  137.  
  138.      
  139.  
  140.      public String getName() {
  141.  
  142.           return cardName;
  143.  
  144.      }
  145.  
  146.      
  147.  
  148.      public int getID() {
  149.  
  150.           return id;
  151.  
  152.      }
  153.  
  154.      
  155.  
  156.      public Bitmap getBitmap() {
  157.  
  158.           return img;
  159.  
  160.      }
  161.  
  162.      
  163.  
  164.      
  165.  
  166. }
  167.  
  168.  
Parsed in 0.042 seconds, using GeSHi 1.0.8.4
dreamdelerium
Developer
Developer
 
Posts: 30
Joined: Fri Jan 01, 2010 11:19 pm

Top

Return to View, Layout & Resource Problems

Who is online

Users browsing this forum: No registered users and 9 guests