2017-01-06 28 views
0

Hallo allerseits Ich entwickle eine App zum Importieren/Exportieren und Aktualisieren von CSV, wo ich diesen Edittext-Filter habe.Suchfilter in Listenansicht Fehler in der Position beim Klicken

Die ID des geangelten Elements wird 1, wenn ich es auswähle.

Unten ist mein Code:

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 

      public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
      { 


       TextView cat; 
       TextView code; 
       TextView desc; 
       TextView unit; 
       TextView quan; 



       Intent intent = new Intent(getApplicationContext(), Main2Activity.class); 
       cat = (TextView) view.findViewById(R.id.txtproductcompany); 
       String gory = cat.getText().toString(); 
       intent.putExtra(ID_EXTRA, gory); 

       code = (TextView) view.findViewById(R.id.txtproductname); 
       String deco = code.getText().toString(); 
       intent.putExtra(ID_EXTRA2, deco); 

       desc = (TextView) view.findViewById(R.id.txtproductprice); 
       String csed = desc.getText().toString(); 
       intent.putExtra(ID_EXTRA3, csed); 

       unit = (TextView) view.findViewById(R.id.txtunit); 
       String noti = unit.getText().toString(); 
       intent.putExtra(ID_EXTRA4, noti); 

       quan = (TextView) view.findViewById(R.id.txtquan); 
       String quanti = quan.getText().toString(); 
       intent.putExtra(ID_EXTRA5, quanti); 

       intent.putExtra(ID_EXTRA1 , String.valueOf(id + 1)); 
       startActivity(intent); 


       lv.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); 
       lv.setSelector(android.R.color.holo_blue_bright); 


      } 

     }); 

-Code für die Filterung Artikel auf Suche:

search.addTextChangedListener(new TextWatcher() { 

      @Override 
      public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) { 
       // When user changed the Text 

       ((SimpleAdapter)MainActivity.this.adapter).getFilter().filter(cs); 

      } 

      @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 
      } 
     }); 

Antwort

0

Die ID, die Ihre Verwendung ist die Zeile ID des Elements, das geklickt wurde. Wenn Sie etwas suchen, wenn Sie einen Datensatz finden, der passender ist, wird ID 0 sein, die 1 zu ihm addiert, so dass Ihr 1

+0

so was soll ich tun, dass ich das tat, weil mein Code in Daten einfügen jetzt verwirrt bitte helfen ich sir @ user6380043 – RaRa

+0

Warum versuchst du nicht, es ist Position aus der Liste und setzen Sie es als eine ID – user6380431

+0

ok sir krank versuchen, google auf, wie, weil ich diesen string.value von (id) in update query vielleicht ich falsch verwendet: ( – RaRa

Verwandte Themen