Autore Topic: Redraw di un contenuto dell'imageView  (Letto 335 volte)

Offline carnauser

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
Redraw di un contenuto dell'imageView
« il: 08 Settembre 2011, 15:03:49 CEST »
0
Salve
Ho provato in tutti i modi ma non riesco a fare il redraw di un immagine

Codice (Java): [Seleziona]
public class EventShow extends Activity {
        TextView titolo,ora,costo,testo,data;
        Drawable image ;
        ImageView imgView;
        /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         this.requestWindowFeature(Window.FEATURE_NO_TITLE);
         this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                 WindowManager.LayoutParams.FLAG_FULLSCREEN );
                setContentView(R.layout.evento);
//      Drawable image = ImageOperations(Current.getResult().getEvento().get(Current.getPosition()).getFoto());
                ImageView imgView = new ImageView(this.getWindow().getContext());
                imgView = (ImageView)findViewById(R.id.foto);
                titolo = (TextView)findViewById(R.id.titolo);
                ora = (TextView)findViewById(R.id.textView2);
                costo = (TextView)findViewById(R.id.textView4);
                testo = (TextView)findViewById(R.id.longtest);
                data = (TextView)findViewById(R.id.data);
                new Attesa().execute();
                data.setText(Util.formatData(Current.getResult().getEvento().get(Current.getPosition()).getData()));
                titolo.setText(Current.getResult().getEvento().get(Current.getPosition()).getTitolo());
                ora.setText(Util.formatOra(Current.getResult().getEvento().get(Current.getPosition()).getOra()));
                costo.setText(Util.formatPrezzo(Current.getResult().getEvento().get(Current.getPosition()).getCosto()));
                testo.setText(Current.getResult().getEvento().get(Current.getPosition()).getTestoEsteso());
               
    }
    public void onStart() {
        super.onStart();
       
    }
   
    private Drawable ImageOperations(String url) {
                try {
                        InputStream is = (InputStream) this.fetch(url);
                        Drawable d = Drawable.createFromStream(is, "src");
                        return d;
                } catch (MalformedURLException e) {
                        e.printStackTrace();
                        return null;
                } catch (IOException e) {
                        e.printStackTrace();
                        return null;
                }
        }
    public Object fetch(String address) throws MalformedURLException,IOException {
                URL url = new URL(address);
                Object content = url.getContent();
                return content;
        }
   
    private void Fai () {
       
        runOnUiThread(new Runnable() {
                        public void run() {

                               
                                EventShow.this.imgView.refreshDrawableState();
                                EventShow.this.imgView.invalidate();
                        }
                });
    }
   
    private class Attesa extends AsyncTask<Void, Void, Void> {

                private final ProgressDialog dialog = new ProgressDialog(EventShow.this);

                // can use UI thread here
                protected void onPreExecute() {
                         this.dialog.setMessage("Attendi...");
                         this.dialog.show();
                         
                }

                // can use UI thread here
                protected void onPostExecute(final Void unused) {
                       
                        if (this.dialog.isShowing()) {

                                this.dialog.dismiss();
                               
                        }
                        EventShow.this.imgView = new ImageView(EventShow.this.getWindow().getContext());
                        EventShow.this.imgView.setImageDrawable(EventShow.this.image);
                        EventShow.this.Fai();
                       
                       
                }

                @Override
                protected Void doInBackground(Void... params) {
                        // TODO Auto-generated method stub
               
                        EventShow.this.image = ImageOperations(Current.getResult().getEvento().get(Current.getPosition()).getFoto());
                        return null;
                }

        }
}

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Redraw di un contenuto dell'imageView
« Risposta #1 il: 08 Settembre 2011, 15:24:07 CEST »
0
Ma ti da degli errori ?
Se si posta il logCat.
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline carnauser

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid A1
Re:Redraw di un contenuto dell'imageView
« Risposta #2 il: 08 Settembre 2011, 15:50:26 CEST »
0
Nessun errore.