S
soma-web
App-Anbieter (kostenpfl.)
- 19
Hi Ah Community,
kann mir bitte jemand sagen wieso bei dem Activity Start der ProgressDialog nicht gleich von anfang an angezeigt wird?
Ich öffne diese Activity durch das klicken eines Buttons in der MainActivity, danach dauert es etwa 3 sekunden, in denen er noch in der MainActivity stehen bleibt(sau blöd), dann scheint für kurze Zeit der ProgressDialog, dann ist er auch wieder weg und er zeigt die NewsActivity.
Ich würde gern den ProgressDialog gleich nach dem klicken des Buttons zeigen lassen, aber wo setze ich da den ProgressDialog an?
Zur Info: Die NewsActivity soll Inhalt aus einer SQL Datenbank abfragen und diesen in einer ListView anzeigen.
Danke euch schonmal im Vorraus!
grüße soma
kann mir bitte jemand sagen wieso bei dem Activity Start der ProgressDialog nicht gleich von anfang an angezeigt wird?
Ich öffne diese Activity durch das klicken eines Buttons in der MainActivity, danach dauert es etwa 3 sekunden, in denen er noch in der MainActivity stehen bleibt(sau blöd), dann scheint für kurze Zeit der ProgressDialog, dann ist er auch wieder weg und er zeigt die NewsActivity.
Ich würde gern den ProgressDialog gleich nach dem klicken des Buttons zeigen lassen, aber wo setze ich da den ProgressDialog an?
Zur Info: Die NewsActivity soll Inhalt aus einer SQL Datenbank abfragen und diesen in einer ListView anzeigen.
Code:
public class NewsActivity extends Activity implements OnItemClickListener {
ListView lview3;
ListViewCustomAdapter adapter;
private ArrayList<News> itemList;
Context context;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.news);
context = this;
itemList = new ArrayList<News>();
progressDialog = ProgressDialog.show(this, "", "Loading...");
GetTask serverTaskObject = new GetTask();
serverTaskObject.execute();
try {
itemList = serverTaskObject.get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
lview3 = (ListView) findViewById(R.id.listView1);
adapter = new ListViewCustomAdapter(this, itemList);
lview3.setAdapter(adapter);
lview3.setOnItemClickListener(this);
}
class GetTask extends AsyncTask<Void, Void, ArrayList<News>> {
@Override
protected ArrayList<News> doInBackground(Void... params) {
// TODO Auto-generated method stub
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("year", "1980"));
HttpResponse response = null;
String result = null;
StringBuilder sb = null;
String result1 = null;
InputStream is = null;
ArrayList<News> itemList = new ArrayList<News>();
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://prog-frog.cwsurf.de/news.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb1 = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb1.append(line + "\n");
}
is.close();
result1 = sb1.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
// parse json data
try {
JSONArray jArray = new JSONArray(result1);
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
News tempnews = new News();
tempnews.setContent(json_data.getString("content"));
tempnews.setHeader(json_data.getString("header"));
// tempnews.setDate(Date.valueOf(json_data.getString("date")));
Log.i("log_tag", "id: " + json_data.getInt("id") + ", header: "
+ json_data.getString("header") + ", content: "
+ json_data.getString("content") + ", date: "
+ json_data.getString("date"));
itemList.add(tempnews);
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return itemList;
}
protected void onPostExecute(ArrayList<News> result) {
NewsActivity.this.progressDialog.dismiss();
}
}
}
Danke euch schonmal im Vorraus!
grüße soma
Zuletzt bearbeitet: