Listenansicht wird nicht nach dem Laden der Daten angezeigt, aber wenn die Bildschirmanzeige ausgeschaltet ist und auf der Liste angezeigt wird.nicht wissen was happening.i xiamoi mi Telefon ist mit der App zu testen, ob andere Code-Aktivitäten erfordert lassen Sie mich weiß nurListe wird nicht nach dem Laden der Daten angezeigt, aber wenn die Anzeige ausgeschaltet ist und eine Liste angezeigt wird
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class FriendList extends ListActivity {
String email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = getIntent().getExtras();
email = bundle.getString("email");
setContentView(R.layout.contacts_list);
final List<Model> list = new ArrayList<Model>();
/** This block is for getting the image url to download from the server **/
final GetDataFromDB getvalues = new GetDataFromDB();
final ProgressDialog dialog = ProgressDialog.show(FriendList.this,
"", "Gettting values from DB", true);
new Thread (new Runnable() {
public void run() {
String response = getvalues.getImageURLAndDesciptionFromDB(email);
System.out.println("Response : " + response);
if (!response.equalsIgnoreCase("")) {
if (!response.equalsIgnoreCase("error")) {
dismissDialog(dialog);
// Got the response, now split it to get the image Urls and description
String all[] = response.split("\\|::endline::\\|");
for(int k = 0; k < all.length; k++){
String urls_and_desc[] = all[k].split("\\|::break::\\|"); // urls_and_desc[0] contains image url and [1] -> description
System.out.println("image url : " + urls_and_desc[2]);
list.add(get(urls_and_desc[1], "https://xxxx.xx/" + urls_and_desc[2]));
}
}
} else {
dismissDialog(dialog);
}
}
}).start();
/*************************** GOT data from Server ********************************************/
ArrayAdapter<Model> adapter = new MyCustomArrayAdapter(this, list);
adapter.notifyDataSetChanged();
setListAdapter(adapter);
}
public void dismissDialog(final ProgressDialog dialog){
runOnUiThread(new Runnable() {
public void run() {
dialog.dismiss();
}
});
}
private Model get(String s, String url) {
return new Model(s, url);
}
}
ich das versucht, aber Ich habe Fehler wie "kann Methode notifyDataSetChanged nicht lösen" –
Ich aktualisiere meine Antwort. Sie sollten den von 'getListAdapter()' zurückgegebenen Adapter in einen 'ArrayAdapter' umwandeln. – shhp
Es zeigt einen Fehler wie "Nur der ursprüngliche Thread, der eine Ansichtshierarchie erstellt hat, kann seine Ansichten berühren". –