Autore Topic: inflate view problema visibilità  (Letto 287 volte)

Offline marcocampoli

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.4
inflate view problema visibilità
« il: 07 Luglio 2013, 19:07:21 CEST »
0
ciao a tutti. ho creato un progetto basanfomi sulle api "fingerpaint example"
(SAMPLE: GrepCode: com.example.android.apis.graphics.FingerPaint (.java) - Class - Source Code View)

adesso ho creato una funzione che salvi una bitmap del disegno e la inserisca sul layout (e di conseguenza muoverla):

   public void addProgrammatlyImage(int pos[], String filePath){
      // Let's create the missing ImageView
      ImageView image = new ImageView(this);

      // Now the layout parameters, these are a little tricky at first
      LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);

      image.setScaleType(ImageView.ScaleType.MATRIX);

      Bitmap selectedImage = BitmapFactory.decodeFile(filePath);
      image.setImageBitmap(selectedImage);

      image.setOnTouchListener(new View.OnTouchListener() {

         public boolean onTouch(View v, MotionEvent event) {
            System.out.println("TOUCH!!");
            switch(event.getActionMasked())
            {
            case MotionEvent.ACTION_DOWN:
               offset_x = (int)event.getX();
               offset_y = (int)event.getY();
               selected_item = v;
               
               break;
            default:
               break;
            }

            return false;
         }
      });

      // Let's get the root layout and add our ImageView
      FrameLayout layout = (FrameLayout) findViewById(R.id.vg1);
      layout.setBackgroundColor(getResources().getColor(R.color.xxx));
      layout.bringToFront();
      ((FrameLayout) layout).addView(image, 0, params);
   }

il mio problema è:
- se cerco di effettuare un inflate dell'imagine allo stello livello della classe fingerpaint, l'immagine è nascosta al disotto della medesima.
- se cerco di fare un inflate come figlio di fingerpaint, mi esce un errore sul logcat tipo: classcast exception, can't cast view to viewgroup



Can help me please??