2013-05-09 2 views
0

Я создаю приложение для Android, в котором у меня есть кнопка обзора для пользователя browse an image from the image gallery. Я получаю выбранное изображение, но мне нужно name of the image to be displayed in a textview в моей деятельности, как я это делаю ???? Я получаю изображение таким образом:Как получить изображение, отображаемое в текстовом виде?

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == SELECT_PICTURE) { 
      Uri selectedImageUri = data.getData(); 
      selectedImagePath = getPath(selectedImageUri); 
      System.out.println("Image Path : " + selectedImagePath); 
      img.setImageURI(selectedImageUri); 

      upload_row=new TableRow(this); 

      appln_no=new TextView(this); 
      image_name=new TextView(this); 
      doctype=new TextView(this); 

      appln_no.setText("Application no."); 
      image_name.setText(selectedImagePath); 
      doctype.setText("DOCUMENT_TYPE"); 

      upload_row.addView(appln_no); 
      upload_row.addView(image_name); 
      upload_row.addView(doctype); 

      upload_table.addView(upload_row); 

     } 
    } 
} 

Может кто-нибудь пожалуйста, скажите мне, как я могу получить имя изображения в строке, чтобы отобразить его ????

Спасибо заранее!

+0

попробовать ответ ниже – Raghunandan

ответ

4

Чтобы получить реальный путь, используйте расположенную ниже функцию

public String getRealPathFromURI(Uri contentUri) { 
// can post image 
String [] proj={MediaStore.Images.Media.DATA}; 
Cursor cursor = managedQuery(contentUri, 
proj, // Which columns to return 
null, // WHERE clause; which rows to return (all rows) 
null, // WHERE clause selection arguments (none) 
null); // Order-by clause (ascending by name) 
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
cursor.moveToFirst(); 
return cursor.getString(column_index); 

    } 

Получить реальный путь

 Uri selectedImageUri = data.getData(); 
    String s= getRealPathFromURI(selectedImageUri); 

Используйте подстроку, как показано ниже

 String name = s.substring(s.lastIndexOf("/") + 1) 
    // instead of "/" you can also use File.sepearator 
    System.out.println("......"+ name); 
    image_name=new TextView(ActivityName.this); 
    image_name.setText(name); 

Пример:

String str="/storage/sdcard0/MyFolder/After school children sports day.jpg"; 
    System.out.println("......"+ str.substring(str.lastIndexOf("/") + 1)); 

Выход

......After school children sports day.jpg 
+1

спасибо большое! это то, что мне нужно! Отлично! – shivani

0

попробовать data.getData().getLastPathSegment() это должно дать вам имя изображения

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