Skip to content Skip to sidebar Skip to footer

How Can I Make A File To Disappear Once If It Is Deleted In Android Sd Card?

/*Files will be clicked here*/ @Override protected void onListItemClick(ListView l,View v, final int position, long id){ filePosition=new File(path1.get(position)); Sys

Solution 1:

add this line

adapter.notifyDataSetChanged();

after

deleteFile() method in onclick event..

or

call same activity using intent after that..

Try like this:

adapter = new MyListAdapter(this);
    lv = (ListView) findViewById(android.R.id.list);
    lv.setAdapter(adapter);
    lv.setOnItemClickListener(new OnItemClickListener() {
    publicvoidonItemClick(AdapterView<?> a, View v, int position, long id) {
        AlertDialog.Builder adb=new AlertDialog.Builder(MyActivity.this);
        adb.setTitle("Delete?");
        adb.setMessage("Are you sure you want to delete " + position);
        final int positionToRemove = position;
        adb.setNegativeButton("Cancel", null);
        adb.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
            publicvoidonClick(DialogInterface dialog, int which) {
                MyDataObject.remove(positionToRemove);
                adapter.notifyDataSetChanged();
            }});
        adb.show();
        }
    });

Solution 2:

You can make a function to update your listdataitem, and call this function just after deleting a file from sdcard. It will referesh your listItem. You may call the same function for first time to setdata list.

ActivityClass.java

ListView listview;

protectedvoidonCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listview = (ListView) findViewById(android.R.id.list); 
    refreshData();
    listview.setOnItemClickListener(newOnItemClickListener() {

        @OverridepublicvoidonItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {

            //show your dialogbox here//and on click of dialog's delete button referesh listview adapter and set it in listview.
            .
            .
             AlertDialog.Builder alert=newAlertDialog.Builder(this);
             alert.setIcon(R.drawable.folder);
             alert.setTitle("Do you want to Delete this File from SD card ?"+" [ "+filePosition.getName()+" ] ");

              //.setTitle("["+filePosition.getName()+"]")
             alert.setPositiveButton("Yes", newDialogInterface.OnClickListener() {

        @OverridepublicvoidonClick(DialogInterface dialog, int which) {
            /*Deleting a File*/deleteFile(); // here deleting a filerefreshData();//refersh listItem


        }

        privatevoiddeleteFile() {

              boolean deleted= filePosition.delete();
}




        }
    });





}

publicvoidrefreshData(){


    ArrayAdapter adapter = newArrayAdapter(this,android.R.layout.simple_list_item_1, list);
     listview.setAdapter(adapter);

}

Post a Comment for "How Can I Make A File To Disappear Once If It Is Deleted In Android Sd Card?"