Thread wird nicht ausgeführt

  • 1 Antworten
  • Letztes Antwortdatum
D

DrHouse29

Neues Mitglied
0
Hallo,

bei meiner kleinen Programm wird ein Thread nicht ausgeführt. Also wenn ich beim debuggen einen Haltepunkt dort hin setze, komme ich erst gar nicht zu dem Punkt, daher denke ich, dass der Thread nicht ausgeführt wird, bitte um Hilfe....

Code:
package com.example.baeckereiangebote;

import java.io.IOException;
import java.util.LinkedList;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.TableLayout;

@SuppressLint("HandlerLeak")
public class Angebote extends Activity {
	
	TableLayout tableAngebote;
	Button buttonRefresh;
	LinearLayout ll;
	protected LinkedList<ImageView> imageViewList;
	protected ProgressDialog pd;
	protected Handler h;
	private boolean didAllDownloads;

	
	//////////////////////////////
	private final static String angebote_datei = "http://mtm-gmbh.net/angebote/angebote.dat";
	/////////////////////////////

	
    @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{
    	
    	
    	/////
    	didAllDownloads = false;
    	/////
    	
    	
    	/////////////////////////ProgressDialog-Object wird erstellt
    	pd = new ProgressDialog(Angebote.this);
    	pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    	pd.setTitle("Lade Angebote herunter");
    	pd.setCancelable(false);
    	pd.setProgress(0);
    	pd.show();
    	
    	
    	
    	////////////////////////Handler 
    	h = new Handler(){
    		
    		@Override
    		public void handleMessage(Message msg){
    			super.handleMessage(msg);
    			
    			if(msg.arg1 == 1)
    				pd.dismiss();
    			if(msg.arg1 == 0)
    				pd.setProgress(pd.getProgress() + 1);
    				
    			
    		}
    		
    	};
    	
    	[COLOR="Red"]Hier der Thread[/COLOR]
    	new Thread(){
    		
    		@Override
    		public void run(){
    			super.run();
    			
    			getImageViewList();
    			h.sendEmptyMessage(0);
    		}
    		
    	}.start();

    	[COLOR="red"]Hier Ende des Threads[/COLOR]
    	
    	for(ImageView iv : imageViewList){

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


    }
    
    
    
    private void getImageViewList(){
    	
    	
    	Message msg = null; 
    	
    	LinkedList<ImageView> imageViewList = new LinkedList<ImageView>();
    	
    	ImageSourceLoader isl = new ImageSourceLoader(angebote_datei);
    	isl.start();
    	boolean goOn = true;
    	
		while(goOn){
			if(isl.isDownloaded()){				
				goOn = false;
			}
		}
		LinkedList<String> list = isl.getImageList();
    	
    	pd.setMax(list.size());

		
    	for(String imageUrl : list){
    		
    		msg.arg1 = 0;
    		h.sendMessage(msg);
    		
    		ImageDownloader liv = new ImageDownloader(imageUrl);
    		liv.start();
    	
    		ImageView iv = new ImageView(this);
    		iv.setScaleType(ScaleType.CENTER);
    		iv.setAdjustViewBounds(true);
    	
    		goOn = true;
    	
    		while(goOn){
    			if(liv.isDownloaded()){
    				iv.setImageBitmap(liv.getBitmap());
    				goOn = false;
    			}
    		}
    		
    		imageViewList.add(iv);
    	}
    	
    	this.imageViewList = imageViewList;
    	
    	msg.arg1 = 1;
    	h.sendMessage(msg);
    	
    	didAllDownloads = true;
    	
    }
    

}

Danke schon im Voraus.
 
Ich sehe nichts Kritisches. Vielleicht kommst Du nicht mal in die Methode refresh() und suchst somit vergebens. Du kannst auch mal den Thread so initialisieren:

Thread worker =
new Thread() {
...
};
worker.start();

Mach ich immer so, aber sehr unwahrscheinlich, dass es sowas ist.
 
Zurück
Oben Unten