0

以前に作成した「パス」フォルダの下にある特定のファイルを削除するこのコードがあります。必要なのは、この特定のファイル「myfile」ではなく、ユーザーがクリックしたファイルを削除することです。

 public void function1(int id){  
                Toast.makeText(this, "function 1 called", Toast.LENGTH_SHORT).show();  
                String fileName = Environment.getExternalStorageDirectory() +"/pass/myfile.pdf"; 
                File myFile = new File(fileName);
                if(myFile.exists())
                    myFile.delete();

を使用して別のクラスからこのクラスにパラメータを渡そうとしましたが、機能しません

file_name = getIntent().getStringExtra("fileName");
String fileName = Environment.getExternalStorageDirectory() +"/pass/"+file_name; 
                    File myFile = new File(fileName);
                    if(myFile.exists())
                        myFile.delete();

このクラスはファイル名を渡します

     if (position == 0) { 
 // pass parameters file name & file url 
 Intent s = new Intent(getApplicationContext(),PDFListActivity.class);  
 s.putExtra("fileName","myfile.pdf"); 
    startActivity(s);
4

2 に答える 2

1

あなたのファーストクラス(アクティビティ)からあなたはこのようになっています:::

Intent i = new Intent(thisActivity.this,NextActivity.class);
i.putExtra("filename",fileName);
startActivity(i);
于 2012-04-12T09:23:47.670 に答える
1

やってみました

String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/pass/" + file_name;

AsgetAbsolutePath()は、ルートディレクトリへの絶対パスを返します。

また、ファイルの検索に使用している文字列のログ出力を取得し、両方のインスタンスで同じかどうかを確認します

于 2012-04-12T09:25:19.567 に答える