2017-03-13 2 views
0

guten Tag, ich habe hier ein Problem mit meinem ListviewSetup-Listenansicht auf gestrichener Produkt nach dem Klick

  1. Ich habe eine Listview mit benutzerdefinierten arrayadapter, die 12 Artikel ist haben
  2. i bereits die Listenansicht festgelegt haben, wenn Klick es ist
  3. gestrichener auf das ausgewählte Element erhalten

UPDATE

public class MainActivity extends AppCompatActivity { 
    private ListView mainList; 
    private final String[] listContent = { 
      "1. Get Ready", 
      "2. Second ", 
      "3. Third", 
      "4. Fourth", 
      "5. Fifth", 
      "6. Sixth", 
      "7. Seventh", 
      "8. Eight", 
      "9. Nineth", 
      "10. Ten", 
      "11. Eleven", 
      "12. Twelve", 
      "13. Look up number twelve", 
      "14. Its become strikethrough too", 
      "15. how to fix it?", 
      "16. Please help", 
      "17. Thanks", 
      "18. End" }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mainList = (ListView) findViewById(R.id.listview2); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, listContent); 
     mainList.setAdapter(adapter); 

     mainList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, 
            int position, long id) { 
       TextView text = (TextView) view; 
       text.setPaintFlags(text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
      } 

     }); 
    } 
} 

Mein Problem ist, wenn ich auf das erste Element (Nummer eins) klicke und es dann durchgestrichen wird, aber das 12 Element (Nummer zwölf) wird auch durchgestrichen. mein Bild

klicken erste Artikel finden Sie unter: https://i.stack.imgur.com/M0nvm.jpg

Nummer zwölf auch gestrichener https://i.stack.imgur.com/1hTPM.jpg

+0

ohne Code niemand helfen kann Ihnen helfen. – gmetax

+0

Entschuldigung, ich bin vergessen hinzuzufügen, ich aktualisiere meinen Beitrag –

+0

fügen Sie einen Artikel zur Liste und wiederholen, um zu prüfen, ob 23 Durchbruch auch bekommen. –

Antwort

0

Dies bekommen ist, weil es die gleiche Ansicht Instanz ist, die jetzt benutzt wird, dass das erste Element aus ist Aussicht.

Zu diesem Zweck müssen Sie Ihre eigenen (Base)Adapter implementieren und speichern Sie die Informationen dort, welche Elemente durchgestrichen werden sollen.
Setzen Sie dann in der Methode "getView" die richtigen Paint-Flags, wenn die Ansichten ein- und ausgeblendet werden.

+0

Entschuldigung, können Sie mir bitte den Fixcode geben? –

0

Dies geschieht, weil eine Ansicht wiederverwendet wird. Sie müssen die Position oder die ID dieses Objekts speichern und entsprechend einen Stroke-Through-Effekt bereitstellen. Ich hoffe, es wird dir helfen. Für Referenz-Code oder Hilfe unter link.It finden Sie finden Sie auf jeden Fall aus

http://lalit3686.blogspot.com/2012/06/today-i-am-going-to-show-how-to-deal.html

https://www.codeproject.com/Questions/896462/Android-Need-to-save-checkbox-state-in-a-custom-ad

+0

Ich habe meinen Beitrag aktualisiert, ist das der richtige Code? weil ich immer noch fehler habe –

Verwandte Themen