ImageView wird nicht angezeigt

  • 2 Antworten
  • Letztes Antwortdatum
D

DrHouse29

Neues Mitglied
0
Hallo,

ich bräuchte eure Hilfe. Und Zwar wie der Titel schon sagt wird mir meine ImageView einfach nicht angezeigt. Hab schon alles mögliche versucht. Wäre um Hilfe sehr dankbar...

Code:
public class Angebote extends Activity {
	
	TableLayout tableAngebote;
	Button buttonRefresh;
	LinearLayout ll;

	
    @Override
    public void onCreate(Bundle savedInstanceState) {    	
      	
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_angebote);
        
        //onClick fuer Button////////////////////////////////////////////////
        buttonRefresh = (Button)findViewById(R.id.refesh);
     //   tableAngebote = (TableLayout)findViewById(R.id.angeboteTable);
        ll = (LinearLayout)findViewById(R.id.angeboteLayout);
        
        buttonRefresh.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
            	
            	try {
            		refresh();
				} catch (IOException e) {
					
					e.printStackTrace();
				}
                }
            });
    }
    
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_angebote, menu);
        return true;
    }
    

    
    private void refresh() throws IOException{
    	
    	ImageDownloader liv = new ImageDownloader("http://mtm-gmbh.net/angebote/test1.jpg");
    	liv.start();
    	
    	ImageView iv = new ImageView(this);
    	iv.setImageBitmap(liv.getBitmap());
    	iv.setScaleType(ScaleType.CENTER);
    	iv.setAdjustViewBounds(true);

    	
    	ll.addView(iv);
    	
    	buttonRefresh.setText("test");


    }
    
  

}


Code:
public class ImageDownloader extends Thread {

	private Bitmap bmp;
	private String url;
	
	
public ImageDownloader(String url){
	super();
	
	this.url = url;
	
	StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

	StrictMode.setThreadPolicy(policy); 
}

	
 public void run(){

	 InputStream inputStream = null;
     try {
         URL urlLink = new URL(url);
         inputStream = urlLink.openStream();
         bmp = BitmapFactory.decodeStream(inputStream);
		 }
			 catch (IOException e) {
			 e.printStackTrace();

			 
			   }

        

	}
	
	
	public Bitmap getBitmap(){
		return bmp;
	}

}

Grüße
Christoph.
 
du musst warten bis das image gedownloaded wurde und dann kannst es erst der imageview zuweisen.

sprich am ende des threads
 
Ohja,

ist ja logisch er macht in dem MainThread ja bereits weiter.

Vielen Dank!
 
Zurück
Oben Unten