2016-03-24 13 views
-1

Nur versuchen, eine einfache App zu erstellen, mit der Benutzer Notizen eingeben und in der Listenansicht speichern können. Welchen Code müsste ich implementieren, um dem Benutzer zu ermöglichen, auf einen Eintrag in der Liste zu klicken, um ihn zu löschen.Wie kann ich Elemente in ListView auswählen, um sie zu löschen?

public class Notes extends AppCompatActivity { 

Button save; 
ArrayList<String> addArray = new ArrayList<String>(); 
EditText txt; 
ListView show; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_notes); 

    txt = (EditText) findViewById(R.id.textInput); 
    show = (ListView) findViewById(R.id.listView); 
    save = (Button) findViewById(R.id.saveButton); 

    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(Notes.this, android.R.layout.simple_list_item_1, addArray); 

    save.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      String getInput = txt.getText().toString(); 

      if (addArray.contains(getInput)) { 
       Toast.makeText(getBaseContext(), "Note already added!", Toast.LENGTH_LONG).show(); 
      } else if (getInput == null || getInput.trim().equals("")) { 
       Toast.makeText(getBaseContext(), "Input required!", Toast.LENGTH_LONG).show(); 
      } else { 
       addArray.add(getInput); 

       show.setAdapter(adapter); 
       ((EditText) findViewById(R.id.textInput)).setText(" "); 
      } 
     } 
    }); 


    show.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) { 

      return true; 
     } 
    }); 
} 

}

+0

Mögliches Duplikat von [Custom ListView und Kontextmenü. Wie bekomme ich es?] (Http://stackoverflow.com/questions/3972945/custom-listview-and-context-menu-how-to-get-it) –

+0

Haben Sie meine Antwort überprüft? –

Antwort

0

, dass Ihr Problem lösen könnte:

addArray.remove(pos); 
adapter.notifyOnDataSetChanged();