Witam, zaczynam swoją przygodę z Javą oraz Androidem i mam takie pytanie :
Czy jest jakaś możliwość aby w konstruktorze jakiegoś obiektu wywołać ListView i aby tworzenie obiektu zakończyło się w momencie wybrania elementu z listy albo odwołania listy.
public class towar {
public Long id;
public String Kod;
public towar(Context appContext){
final ListAdapter adapter2;
final Dialog dialog = new Dialog(appContext);
dialog.setContentView(R.layout.custom2);
dialog.setTitle("Wybierz Towar");
adapter2 = new SimpleAdapter(appContext, oslist2,
R.layout.lista_v2,
new String[] {"towar"}, new int[] {
R.id.textView1,});
ListView List1 = (ListView) dialog.findViewById(R.id.lista);
EditText szukajka = (EditText) dialog.findViewById(R.id.editText1);
List1.setAdapter(adapter2);
List1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id1) {
Map<String, Object> map = (Map<String, Object>)parent.getItemAtPosition(position);
id = (Long) map.get("id");
Kod = (String) map.get("Kod");
}
});
dialog.show();
}
}
Więc w jakieś innej klasie chciał bym wywołać
towar nowyTowar = new towar(this);
nowyTowar.zrobCos();
Co powinno wywołać mi listę, lecz z tego co wiem to lista jest async i kod poleci dalej czyli tak naprawdę nic nam nie przypisze do zmiennej nowyTowar ( mam na myśli id oraz jego Kod ) czy nie dało by się tak aby wywołanie konstruktora blokowało dalsze działanie aplikacji do czasu aż towar zostanie wybrany z listy ??