2013-02-16 3 views
0

в моем приложении я получаю файлы изображений с SDK. n отправка пути назад к предыдущему действию. но я не смог получить путь в предыдущем activity.please помощи me.below является код-как получить путь изображения в onactivityresult в android

первый деятельность-

public class Work extends Activity { 
String imagepath; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

} 

public void importFile(View v){ 

    Intent intent=new Intent(this,ImportFile.class); 

    startActivityForResult(intent, 1); 

} 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 

    if(requestCode==1) 
    { 
     //here i wanto get image path. 
    } 
} 

}

второй деятельность-

public class ImportFile extends Activity implements OnCheckedChangeListener{ 

TableLayout tl; 
Intent i; 
ImageView im; 
int idcount; 
Uri uri[]; 
Uri[] imagefiles; 
String filepath[]; 
String[] image=new String[100]; 
TextView nameoffile,sizeoffile,line; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mylist); 
     File file = new File(Environment.getExternalStorageDirectory() 
      + File.separator + "gallery" //folder name 
     ); 
     if (!file.exists()) { 
      file.mkdirs(); 
     } 
      File f = new File("/sdcard/download"); 
      File[] files = f.listFiles(); 
     int j=0; 
     for(int i = 0; i < files.length; i++,j++) { 
      File file1 = files[i]; 
      //take the file name only 
      long size = file1.length()/1024; 
      String myfile = file1.getPath().substring(file1.getPath().lastIndexOf("/")+1,file1.getPath().length()).toLowerCase(); 
      System.out.println("file is : "+files[i]); 
      if(myfile.endsWith(".jpeg")||myfile.endsWith(".png")|| myfile.endsWith(".gif") || myfile.endsWith(".jpg")) 
      { 
       System.out.println("file is : "+files[i]); 
       image[j]=file1.getAbsoluteFile().toString(); 
      }    
     } 
     } 


    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     int j; 
     imagesPaths = new ArrayList<String>(); 
     // TODO Auto-generated method stub 
     for(j=1;j<idcount;j++){ 
      if(ch[j].isChecked()) 
      { 
       System.out.println("PPPPPPPPPPPPPPPPPP"+j); 
       i=new Intent(); 
       i.putExtra("files",image[++j]); 
       setResult(RESULT_OK, i); 
       finish(); 
      }  
     } 
    } 
} 

ответ

0
imagesPaths = new ArrayList<String>(); 
// TODO Auto-generated method stub 
for(j=1;j<idcount;j++){ 
    if(ch[j].isChecked()) 
    { 
     System.out.println("PPPPPPPPPPPPPPPPPP"+j); 
     imagesPaths.add(image[++j]); 
    } 
} 
i=new Intent(); 
i.putExtra("files",imagesPaths); 
setResult(RESULT_OK, i); 
finish(); 
} 



if(requestCode==1) 
{ 
    ArrayList<String> imagesPaths = data.getStringArrayListExtra("files"); 

} 
+0

не работает. на самом деле я видел путь, отображаемый во 2-й активности. Не отображается в onactivityresult –

+0

Он дает ошибку. data.getAction() должен быть строкой. –

+0

см. Правки, если это работает. – Sunny

Смежные вопросы