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

        }
    }
}

誰かがそれを表示するために文字列で画像名を取得する方法を教えてください????

前もって感謝します!!

4

2 に答える 2

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 
于 2013-05-09T11:02:15.510 に答える
0

これを試してみるとdata.getData().getLastPathSegment()、イメージ名が表示されます

于 2013-05-09T10:36:15.413 に答える