Suchen in deptList

  • 21 Antworten
  • Letztes Antwortdatum
E

er4z0r

Neues Mitglied
0
Hallo,
gibt es eine Möglichkeit, mit der ich in einer deptList suchen lassen kann, und dann wird nur dieses Objekt angezeigt?

Vielen Dank :)
 
Naja das einfachste wäre wohl die Liste durch zu gehen und zu gucken ob es das Element ist was du suchst.

LG. Dagobert

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
wie kann ich das verwirklichen?
 
Code:
for(int i = 0; i < deepListe.sze(); ++i) {
  if(deepListe.get(i).equas("GesuchtGefunden!")) {
    // Whooot FOUNND GREAT!!!!
  } else {
   // Nothing to-to here :(
  }
}

€dit: Was ist eigentlich eine deptList? :O Kann man doch auch .contains() benutzen :O
 
Wie kann ich das machen, dass ein User etwas in eine Zeile eingeben kann und dann mit .contains() wird nur das gesuchte aus der deptList angezeigt??

Mein Versuch, aber ohne Erfolg:

Code:
        editsearch = (EditText) findViewById(R.id.inputSearch);


        editsearch.addTextChangedListener(new TextWatcher() {

            @Override
            public void afterTextChanged(Editable arg0) {
                
                String text = editsearch.getText().toString().toLowerCase(Locale.getDefault());
                deptList.contains(text);
            }

            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                                          int arg2, int arg3) {
                
            }

            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                                      int arg3) {
                
            }
        });
 
Zuletzt bearbeitet:
Wie kann ich das machen, dass ein User etwas in eine Zeile eingeben kann und dann mit .contains() wird nur das gesuchte aus der deptList angezeigt??
Ähm, bitte was?! *.+
 
mit edittext könnte der Benutzer nach beliebigen Dinge aus der deptlist suchen, aber wie bekomme ich die Resultate angezeigt
 
Und wo genau ist dein Problem? ^^
Und wenn du wirklich größere Mengen durchsuchen möchtest, solltest du ne andere Datenstruktur als ne liste wählen

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
ja wenn ich etwas eingebe in edittext wird trotzdem noch die komplette deptlist bzw listview angezeigt
 
Ja das sagt aber immer noch nicht wo genau du Probleme hast..

LG.

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
ich weiß ja auch nicht wo der Fehler liegt, wahrscheinlich wird die listview nicht richtig aktualisiert nach dem eintippen in den edittext
 
Wird durch das aktualisieren der listview in der aftertextchanged funktion wirklich erreicht, dass nur das gesuchte danach angezeigt wird?
 
Natürlich nicht, programmieren muss man schon beim programmieren...

Vllt solltest du erstmal Grundlagen lernen? bzw. einfach Algorithmen entwickel...
dir einfach mal nen Grundverständnis von OOP aneignen....
Psydocode:
Code:
1. Suchfeld abfrage
2. Suche starten
3. Neuer Adapter mit Suchergebnissen erstellen
4. Liste aktualisieren

lg. Dagobert
 
Du machst doch gar nix mit der Liste im afterTextChanged ... wieso sollte sich dann was ändern? Du schaust nur, ob der Text enthalten ist ...

Prinzipiell zeigt eine ListView alle Listeneinträge an, die in deiner Liste vorhanden sind.

Wenn du deine Liste filtern willst, mußt du die Einträge, die nicht angezeigt werden sollen, entfernen und dann deinAdapter.notifyDataSetChanged() aufrufen, dann sollte die ListView aktualisiert werden.

Wenn du deine Daten nicht aus einer Datenbank bekommst, dann könntest du dir 2 Listen anlegen, einer mit allen Daten und die 2. mit den gefilterten Daten, die auch immer angezeigt wird in deiner ListView. Gibt sicher noch andere Möglichkeiten, aber zum ausprobieren reichts.
 
DagobertDokate schrieb:
Natürlich nicht, programmieren muss man schon beim programmieren...
tumblr_m1bb6vbDkA1r5jtugo1_500.png
 
Habe nun versucht die Suche zu verwirklcihen, jedoch stürzt mir die App bei dem Aufrufen dieser Funktion immer ab.
Findet jemand mein Fehler?

Code:
        inputSearch.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                // When user changed the Text
                try {
                    JSONObject json = new JSONObject(readFromFile());
                    JsonStrings d = new JsonStrings();
                    JSONArray jData = json.getJSONArray("");
                    for (int i = 0; i < jData.length(); i++) {
                        JSONObject jo = jData.getJSONObject(i);

                        if ((jo.getString("Ortsname")).startsWith((String) cs, 0)) {
                            
                            deptList.clear();
                            d.name = json.optString("Name", "");
                            d.kategorie = json.optString("Art", "");
                            d.begin = json.optString("Datum", "");
                            d.tage = json.optString("Tage", "");
                            deptList.add(d);

                            Log.i("Name is ", jo.getString("name"));

                        }

                    }
                } catch (JSONException b) {
                    Log.e("log_tag", "Error parsing data " + b.toString());
                }

            }

            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                                          int arg3) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub
            }
        });
 
Zeile 20-4*2^5(5+5)-200

Logcat ausgabe bitte!

Gruß

€dit: Du so:
2Ni9ti5meVtY-H_2JEAmqnqQH8J8NrLSKFzl3Fux0w1a=w500-h350-no
 
Hier mein Logcat:
03-11 20:20:07.135 19976-19976/de.#### E/AndroidRuntime? FATAL EXCEPTION: main
Process: de.####, PID: 19976
java.lang.RuntimeException: Unable to start activity ComponentInfo{de.####/de.####.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
at android.app.ActivityThread.access$900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at de.####.MainActivity.onCreate(MainActivity.java:271)
at android.app.Activity.performCreate(Activity.java:5426)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
at android.app.ActivityThread.access$900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
 
Was steht in Zeile 271?

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 

Ähnliche Themen

migi01
Antworten
26
Aufrufe
838
migi01
migi01
Zurück
Oben Unten