Stefan S.
- Forum-Beiträge: 560
02.01.2012, 20:40:02 via Website
02.01.2012 20:40:02 via Website
Hi NG
Wie kann ich die Daten für einen SimpleCursorAdapter laden (K2Soap)?
Zur Zeit ist mein Schirm ziemlich lange nicht ansprechbar...
Die drei Methoden Populate... laden je Daten aus einem WebService.
Kann ich diese irgendwie in den Background setzen?
Danke im Voraus.
Wie kann ich die Daten für einen SimpleCursorAdapter laden (K2Soap)?
Zur Zeit ist mein Schirm ziemlich lange nicht ansprechbar...
1public void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.pizza_main);
4
5 lvMenu = (ListView)findViewById(R.id.lvFiliale);
6
7 db = (new PizzaDB(this)).getWritableDatabase();
8 ClearFilialen();
9 tv = (TextView)findViewById(R.id.txtService);
10 tvSearchFiliale = (EditText)findViewById(R.id.txtSearchFiliale);
11 spnKategorie = (Spinner)findViewById(R.id.spnKategorie);
12 spnKanton = (Spinner)findViewById(R.id.spnKanton);
13
14 populateFiliale();
15 populatePLZ();
16 populateKategorien();
17
18 spnKategorie.setPrompt("Kategorie wählen");
19 spnKanton.setPrompt("Kanton wählen");
20
21 spnKanton.setOnItemSelectedListener(new OnItemSelectedListener() {
22
23 @Override
24 public void onItemSelected(AdapterView<?> arg0, View arg1,
25 int arg2, long arg3) {
26
27 FilterKanton( arg0.getItemAtPosition(arg2).toString());
28
29 }
30
31 @Override
32 public void onNothingSelected(AdapterView<?> arg0) {
33
34 }
35 });
36
37 spnKategorie.setOnItemSelectedListener(new OnItemSelectedListener() {
38
39 @Override
40 public void onItemSelected(AdapterView<?> arg0, View arg1,
41 int arg2, long arg3) {
42
43 FilterFiliale(kategorien.get(arg2).KatID);
44 tvSearchFiliale.setText("");
45 }
46
47 @Override
48 public void onNothingSelected(AdapterView<?> arg0) {
49
50 }
51 });
52
53 GetFilialen();
54
55 String[] fields = new String[]{
56 PizzaDB.ID, PizzaDB.FilialID, PizzaDB.FilialName, PizzaDB.FilialStrasse
57 };
58
59 registerForContextMenu(lvMenu);
60 aa = new MyFillialAdapter(getApplicationContext(), R.layout.pizza_main_item, crFiliale, fields, new int[]{R.id.txtFilialName,R.id.txtFilialStrasse});
61
62 aa.setFilterQueryProvider(new FilterQueryProvider() {
63
64 @Override
65 public Cursor runQuery(CharSequence constraint) {
66 //uri, projection, and sortOrder might be the same as previous
67 //but you might want a new selection, based on your filter content (constraint)
68 Cursor cur = GetFilialenBySearch(constraint);
69 crFiliale = cur;
70 crFiliale.requery();
71 return cur; //now your adapter will have the new filtered content
72 }
73 });
74
75
76 tvSearchFiliale.addTextChangedListener(new TextWatcher() {
77
78 @Override
79 public void onTextChanged(CharSequence s, int start, int before, int count) {
80
81 if (aa!=null) {
82 aa.getFilter().filter(s);
83
84 }
85 }
86
87 @Override
88 public void beforeTextChanged(CharSequence s, int start, int count,
89 int after) {
90
91 }
92
93 @Override
94 public void afterTextChanged(Editable s) {
95
96 }
97 });
98
99 lvMenu.setAdapter(aa);
100
101 lvMenu.setOnItemClickListener(new OnItemClickListener() {
102
103 @Override
104 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
105 long arg3) {
106
107 crFiliale.moveToPosition(arg2);
108
109 ShowNewFiliale();
110 }
111
112 });
113 }
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.pizza_main);
4
5 lvMenu = (ListView)findViewById(R.id.lvFiliale);
6
7 db = (new PizzaDB(this)).getWritableDatabase();
8 ClearFilialen();
9 tv = (TextView)findViewById(R.id.txtService);
10 tvSearchFiliale = (EditText)findViewById(R.id.txtSearchFiliale);
11 spnKategorie = (Spinner)findViewById(R.id.spnKategorie);
12 spnKanton = (Spinner)findViewById(R.id.spnKanton);
13
14 populateFiliale();
15 populatePLZ();
16 populateKategorien();
17
18 spnKategorie.setPrompt("Kategorie wählen");
19 spnKanton.setPrompt("Kanton wählen");
20
21 spnKanton.setOnItemSelectedListener(new OnItemSelectedListener() {
22
23 @Override
24 public void onItemSelected(AdapterView<?> arg0, View arg1,
25 int arg2, long arg3) {
26
27 FilterKanton( arg0.getItemAtPosition(arg2).toString());
28
29 }
30
31 @Override
32 public void onNothingSelected(AdapterView<?> arg0) {
33
34 }
35 });
36
37 spnKategorie.setOnItemSelectedListener(new OnItemSelectedListener() {
38
39 @Override
40 public void onItemSelected(AdapterView<?> arg0, View arg1,
41 int arg2, long arg3) {
42
43 FilterFiliale(kategorien.get(arg2).KatID);
44 tvSearchFiliale.setText("");
45 }
46
47 @Override
48 public void onNothingSelected(AdapterView<?> arg0) {
49
50 }
51 });
52
53 GetFilialen();
54
55 String[] fields = new String[]{
56 PizzaDB.ID, PizzaDB.FilialID, PizzaDB.FilialName, PizzaDB.FilialStrasse
57 };
58
59 registerForContextMenu(lvMenu);
60 aa = new MyFillialAdapter(getApplicationContext(), R.layout.pizza_main_item, crFiliale, fields, new int[]{R.id.txtFilialName,R.id.txtFilialStrasse});
61
62 aa.setFilterQueryProvider(new FilterQueryProvider() {
63
64 @Override
65 public Cursor runQuery(CharSequence constraint) {
66 //uri, projection, and sortOrder might be the same as previous
67 //but you might want a new selection, based on your filter content (constraint)
68 Cursor cur = GetFilialenBySearch(constraint);
69 crFiliale = cur;
70 crFiliale.requery();
71 return cur; //now your adapter will have the new filtered content
72 }
73 });
74
75
76 tvSearchFiliale.addTextChangedListener(new TextWatcher() {
77
78 @Override
79 public void onTextChanged(CharSequence s, int start, int before, int count) {
80
81 if (aa!=null) {
82 aa.getFilter().filter(s);
83
84 }
85 }
86
87 @Override
88 public void beforeTextChanged(CharSequence s, int start, int count,
89 int after) {
90
91 }
92
93 @Override
94 public void afterTextChanged(Editable s) {
95
96 }
97 });
98
99 lvMenu.setAdapter(aa);
100
101 lvMenu.setOnItemClickListener(new OnItemClickListener() {
102
103 @Override
104 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
105 long arg3) {
106
107 crFiliale.moveToPosition(arg2);
108
109 ShowNewFiliale();
110 }
111
112 });
113 }
Die drei Methoden Populate... laden je Daten aus einem WebService.
Kann ich diese irgendwie in den Background setzen?
Danke im Voraus.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.