2012-04-10 2 views
3

다른 클래스에 매개 변수 전달은 1 파일 URL 2 파일 이름 두 개의 매개 변수 내가 모든 파일에 대해이 클래스를 만들고 싶지 않다 때문에 나는I가 통과 것을 나는 두 개의 클래스 중 하나를 가지고

이를 보냅니다

제 클래스 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

당신은 다음과 같은 코드로이 작업을 수행 할 수 있습니다

첫 번째 클래스는 두 번째 클래스

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

        } 

OnItemClickListener에서 매개 변수를 전달

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"); 
관련 문제