N
Nexxee
Neues Mitglied
- 0
Hallo liebe Community,
ich habe folgendes Problem...
(Ich bin neu im Android Programmieren -> Komme aus der C# ecke)
Ich habe eine ListView die mir auflistet welche .mp3 oder .ac3 Dateien ich in meinem Ordner habe.
Ich einen CustomListViewAdapter.
Nun habe ich einen LongItemClickEvent registriert und Aboniert. Das funktioniert auch alles ohne Probeleme.
Wenn ich nun im ContextMenu allerdings Löschen auswähle, wird die Datei vom Internen Speicher auch gelöscht nur von der Listview wird mal 1 Item entfernt (das falsche ) oder es passiert so rein garnichts...
hier mal der Code
Properties
import java.io.File;
/**
* Created by nexus on 25.01.2016.
*/
public class FileActionProperties {
private File _file;
private String _fileName;
private String _path;
private String _fullMeadiaPath;
private int _position;
public void setFile(File file){
if (this._file != file)
this._file = file;
}
public File getFile(){
return this._file;
}
public void setFileName(String fileName){
if (this._fileName != fileName)
this._fileName = fileName;
}
public String getFileName(){
return this._fileName;
}
public void setPath(String path){
if (this._path != path)
this._path = path;
}
public String getPath(){
return this._path;
}
public void setFullMeadiaPath(String fullMeadiaPath){
if (this._fullMeadiaPath != fullMeadiaPath)
this._fullMeadiaPath = fullMeadiaPath;
}
public String getFullMeadiaPath(){
return this._fullMeadiaPath;
}
public void setPosition(int position){
if (this._position != position)
this._position = position;
}
public int getPosition(){
return this._position;
}
}
private void setListViewDownloadContentEvents() {
if (list.get(0) != "Keine Downloads"){
listView.setOnItemClickListener(new OnItemClickListener() {
@override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
fap.setFile(new File(path + adapter.getItem(position)));
PlayFileIntent();
}
});
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
fap.setFile(new File(path + adapter.getItem(position)));
fap.setFullMeadiaPath(path + adapter.getItem(position));
fap.setPosition(position);
fap.setFileName(adapter.getItem(position));
customDialog.show();
return true;
}
});
adapter.setOnClickListenerClass(AdapterClickView);
}
}
private void MessageBox(){
builder = new AlertDialog.Builder(this);
builder.setTitle("Löschen");
builder.setMessage("Sind Sie sicher ?");
builder.setPositiveButton("Ja", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Do nothing but close the dialog
File del = fap.getFile();
if (del.delete()) {
sendBrodcasetToDel();
adapter.remove(fap.getFileName());
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "Datei erfolgreich gelöscht", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Datei konnte nicht gelöscht werden " + MediaFile, Toast.LENGTH_SHORT).show();
}
dialog.dismiss();
}
});
builder.setNegativeButton("Nein", new DialogInterface.OnClickListener() {
@override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "NEIN", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
}
Den Debugger bin ich bereits durchgegangen.
Die Position des Items ist richtig. Der Dateiname auch....
Nach dem Debugger kann ich keinen fehler finden...
Kann mir da jemand helfen ?
Mit freundlichem Gruß
EDIT: Ich muss anmerken das, dass Abspielen sowie Share einwandfrei funktioniert. Auch das Löschen funktioniert. Nur der austrag aus der Listview nicht...
ich habe folgendes Problem...
(Ich bin neu im Android Programmieren -> Komme aus der C# ecke)
Ich habe eine ListView die mir auflistet welche .mp3 oder .ac3 Dateien ich in meinem Ordner habe.
Ich einen CustomListViewAdapter.
Nun habe ich einen LongItemClickEvent registriert und Aboniert. Das funktioniert auch alles ohne Probeleme.
Wenn ich nun im ContextMenu allerdings Löschen auswähle, wird die Datei vom Internen Speicher auch gelöscht nur von der Listview wird mal 1 Item entfernt (das falsche ) oder es passiert so rein garnichts...
hier mal der Code
Properties
import java.io.File;
/**
* Created by nexus on 25.01.2016.
*/
public class FileActionProperties {
private File _file;
private String _fileName;
private String _path;
private String _fullMeadiaPath;
private int _position;
public void setFile(File file){
if (this._file != file)
this._file = file;
}
public File getFile(){
return this._file;
}
public void setFileName(String fileName){
if (this._fileName != fileName)
this._fileName = fileName;
}
public String getFileName(){
return this._fileName;
}
public void setPath(String path){
if (this._path != path)
this._path = path;
}
public String getPath(){
return this._path;
}
public void setFullMeadiaPath(String fullMeadiaPath){
if (this._fullMeadiaPath != fullMeadiaPath)
this._fullMeadiaPath = fullMeadiaPath;
}
public String getFullMeadiaPath(){
return this._fullMeadiaPath;
}
public void setPosition(int position){
if (this._position != position)
this._position = position;
}
public int getPosition(){
return this._position;
}
}
private void setListViewDownloadContentEvents() {
if (list.get(0) != "Keine Downloads"){
listView.setOnItemClickListener(new OnItemClickListener() {
@override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
fap.setFile(new File(path + adapter.getItem(position)));
PlayFileIntent();
}
});
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
fap.setFile(new File(path + adapter.getItem(position)));
fap.setFullMeadiaPath(path + adapter.getItem(position));
fap.setPosition(position);
fap.setFileName(adapter.getItem(position));
customDialog.show();
return true;
}
});
adapter.setOnClickListenerClass(AdapterClickView);
}
}
private void MessageBox(){
builder = new AlertDialog.Builder(this);
builder.setTitle("Löschen");
builder.setMessage("Sind Sie sicher ?");
builder.setPositiveButton("Ja", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Do nothing but close the dialog
File del = fap.getFile();
if (del.delete()) {
sendBrodcasetToDel();
adapter.remove(fap.getFileName());
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "Datei erfolgreich gelöscht", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Datei konnte nicht gelöscht werden " + MediaFile, Toast.LENGTH_SHORT).show();
}
dialog.dismiss();
}
});
builder.setNegativeButton("Nein", new DialogInterface.OnClickListener() {
@override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "NEIN", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
}
Den Debugger bin ich bereits durchgegangen.
Die Position des Items ist richtig. Der Dateiname auch....
Nach dem Debugger kann ich keinen fehler finden...
Kann mir da jemand helfen ?
Mit freundlichem Gruß
EDIT: Ich muss anmerken das, dass Abspielen sowie Share einwandfrei funktioniert. Auch das Löschen funktioniert. Nur der austrag aus der Listview nicht...