2012-04-10 239 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"); 
相關問題