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....
Danke schon im Voraus.
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.