N
newperson
Neues Mitglied
- 1
Hallo, ich übe gerade die ListView mit php und mysql.
Ich habe eine ListView mit TextView und ImageView.
Meine Frage: Wie kann ich Bilder von der Datenbank(mysql) auf ein Int-Array schreiben und die dann auf eine Listview anzeigen lassen.
Zurzeit funktioniert: Die Texte werden auf der ListView angezeigt, bzw. die Bilder die im Array sind. Leider sind das nur Standard Bilder die im R.drawable. gespeichert sind und nicht von der Datenbank die jeweils zum Text gehören. Das heißt es fehlt noch, dass die Bilder noch downloadet werden müssen.
Leider weiß ich nicht wie man so etwas umsetzt.
Danke für die HILFE
Source-Code:
Ich habe eine ListView mit TextView und ImageView.
Meine Frage: Wie kann ich Bilder von der Datenbank(mysql) auf ein Int-Array schreiben und die dann auf eine Listview anzeigen lassen.
Zurzeit funktioniert: Die Texte werden auf der ListView angezeigt, bzw. die Bilder die im Array sind. Leider sind das nur Standard Bilder die im R.drawable. gespeichert sind und nicht von der Datenbank die jeweils zum Text gehören. Das heißt es fehlt noch, dass die Bilder noch downloadet werden müssen.
Leider weiß ich nicht wie man so etwas umsetzt.
Danke für die HILFE
Source-Code:
Code:
private String id;
private ListView listView;
int[] flags = new int[]{
R.drawable.hose,
R.drawable.leiberl
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_person);
Intent intent = getIntent();
id = intent.getStringExtra(Config.EMP_ID);
listView = (ListView) findViewById(R.id.lvDetails);
listView.setOnItemClickListener(this);
getJSON();
}
private void getJSON() {
class GetEmployee extends AsyncTask<String, Void, String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(PersonActivity.this, "Fetching...", "Wait...", false, false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
showThings(s);
}
@Override
protected String doInBackground(String... params) {
RequestHandler rh = new RequestHandler();
String s = rh.sendGetRequestParam(Config.URL_GET_DETAILS, id);
return s;
}
}
GetEmployee ge = new GetEmployee();
ge.execute();
}
private void showThings(String json) {
ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
try {
JSONObject jsonObject = new JSONObject(json);
JSONArray result = jsonObject.getJSONArray(Config.TAG_JSON_ARRAY_DETAILS);
for (int i = 0; i < result.length(); i++) {
JSONObject jo = result.getJSONObject(i);
String id = jo.getString(Config.TAG_ID);
String name = jo.getString(Config.TAG_NAME);
//String image = jo.getString(Config.TAG_IMAGE);
HashMap<String, String> employees = new HashMap<>();
employees.put(Config.TAG_ID, id);
employees.put(Config.TAG_NAME, name);
employees.put("flag", Integer.toString(flags[i]));
list.add(employees);
}
} catch (JSONException e) {
e.printStackTrace();
}
ListAdapter adapter = new SimpleAdapter(
PersonActivity.this, list, R.layout.list_star,
new String[]{Config.TAG_ID, Config.TAG_NAME, "flag"},
new int[]{R.id.id, R.id.tvName, R.id.ivSache});
listView.setAdapter(adapter);
}