2012-04-10 240 views
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)); 

回答

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

您需要创建一个Bundle并在其中存储URL和文件名。然后你可以通过这个包来调用新的活动。在新课程中,您使用getIntent().getExtras()从包中提取信息。

1

可以传递文件名和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); 

,并得到,

Bundle b = getIntent().getExtras(); 
filename = b.getString("fileName"); 
file_url = b.getString("fileURL"); 
相关问题