3

私は2つのクラスを持っています。そのうちの1つは、1-ファイルURL2-ファイル名である2つのパラメーターを送信するために渡します。これは、所有するすべてのファイルに対してこのクラスを作成したくないためです。

最初のクラスはOnItemClickListenerからパラメータを渡します

     list.setOnItemClickListener(new ListView.OnItemClickListener() {
         public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {
                if (position == 0) {
                    // pass parameters file name & file url

                  }

2番目のクラス

public void onClick(View v) {
            // starting new Async Task
            new DownloadFileFromURL().execute(file_url);
        }
OutputStream output=new FileOutputStream(new File(dir, filename));
4

3 に答える 3

1

バンドルを作成し、その中にURLとファイル名を保存する必要があります。そして、新しいアクティビティを呼び出すインテントでこのバンドルを渡すことができます。新しいクラスでは、を使用してバンドルから情報を抽出しますgetIntent().getExtras()

于 2012-04-10T18:06:28.377 に答える
1

次のように、ファーストクラスからfileNameとfileURLを渡すことができます。

// pass parameters file name & file url
Intent i = new Intent(FirstClass.this,SecondClass.this);
i.putExtra("FileName",fileName);
i.putExtra("FileURL",fileURL);
startActivity(i);

次のように2番目のアクティビティから取得します。

Bundle b = getIntent().getExtras();
filename = b.getString("fileName"); 
file_url = b.getString("fileURL"); 
于 2012-04-11T19:51:09.817 に答える
0

次のコードでこれを行うことができます:

最初のクラスはOnItemClickListenerからパラメータを渡します

     list.setOnItemClickListener(new ListView.OnItemClickListener() {
         public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {
                if (position == 0) {
                    // pass parameters file name & file url
                    Intent i = new Intent(FirstClass.this,SecondClass.this);
                    i.putExtra("FileName",fileName);
                    i.putExtra("FileURL",fileURL);
                    startActivity(i);

                  }

2番目のクラス

public void onClick(View v) {
                    filename = getIntent().getStringExtra("fileName"); 
                    file_url = getIntent().getStringExtra("fileURL");
            // starting new Async Task
            new DownloadFileFromURL().execute(file_url);
        }
OutputStream output=new FileOutputStream(new File(dir, filename));
于 2012-04-10T18:23:13.020 に答える