将参数传递给另一个类
问题描述:
我有两个类其中之一,我传递给发送两个参数是 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));
答
可以通过下面的代码做到这一点:
第一类将来自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));
答
可以传递文件名和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");