3

我有两个类,其中一个我传递给发送两个参数,它们是 1- 文件 URL 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

                  }

第二课

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

您需要创建一个Bundle并将 URL 和文件名存储在其中。然后你可以在调用新活动的意图中传递这个包。在新类中,您使用getIntent().getExtras().

于 2012-04-10T18:06:28.377 回答
1

您可以从第一类传递文件名和文件URL,如下所示,

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

并从第二个活动中获得如下,

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);

                  }

第二课

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 回答