Извините, что задаю такой вопрос, но я пытаюсь заставить его работать часами, и я не вижу ошибки ...
public class Main extends ListActivity {
/** Called when the activity is first created. */
ProgressDialog dialog;
@Override
public synchronized void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new WebLoader().doInBackground("http://sample.sample.com/sample.xml");
}
public class WebLoader extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String result = "";
try{
URL url = new URL(params[0]);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(2048);
int current = 0;
while((current = bis.read()) != -1)
{
baf.append((byte)current);
}
result = new String(baf.toByteArray());
}
catch(Exception e)
{
Log.e("gullinews", e.getMessage());
}
return result;
}
@Override
protected void onPostExecute(String result) {
dialog.dismiss();
}
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(getApplicationContext(), "",
"Loading. Please wait...", true);
}
}
}
Запуск с отладчиком показывает, что данные XML загружены, но есть только черный экран. Когда я попробовал "setContenView (R.layout.main);" с main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/list" />
</LinearLayout>
// Изменить:
хорошо, я решил одну ошибку, остальное не решил. Источник обновлен.
Моя главная проблема сейчас в том, что у меня нет идеи, почему ProgressDialog не появляется. остальное должно быть черным, это верно.