2013-03-23 46 views
2

。 I'm仍然在android系統菜鳥...... 我有兩個activites /佈局首先從其他活動/佈局獲得路徑的問題

  1. activity_main(類Main.java)爲用戶提供了可能性,從圖庫中選擇圖片
  2. activity_upload(上傳類.java)應顯示所選圖片。 (將來會有上傳到服務器)

我的問題是:activity_upload中的視圖不會顯示所選圖片的預覽。 我有一個變量「圖片路徑」。我嘗試使用「bundle ...」在activity_upload中提供此變量

有人能幫助我嗎?謝謝

我現在試過這個,但它也沒有工作。

Main.java

if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { 
    Uri selectedImage = data.getData(); 
    String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

    Cursor cursor = getContentResolver().query(selectedImage, 
      filePathColumn, null, null, null); 
    cursor.moveToFirst(); 

    int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
    String picturePath = cursor.getString(columnIndex); 
    cursor.close(); 
    Intent in = new Intent(Main.this, Upload.class); 
    in.putExtra("Path", picturePath); 
    startActivity(in); 
} 

Upload.java

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
     String picturePath = getIntent().getStringExtra("Path"); 
     ImageView imageView = (ImageView) findViewById(R.id.imgView); 
     imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));   
    } 
} 

回答

2

你的問題是如何ActivitiesIntents工作是你無處調用明確你的一些關鍵基本面通過Intent上傳類,然後你的Upload類將不知道圖片的路徑。

您需要創建用於切換到上載活動的Intent,並且需要用它打包一些數據。它可以用putExtra()的方法實現。然後,你可以通過

getIntent().getStringExtra("key"); 

僞獲得一流的數據:

Intent i = new Intent(Main.this, Upload.class); 
i.putExtra("picPath", "<someValue>"); 
startActivity(i); 
0

有幾個問題,我看到的。首先,我不看你怎麼指望得到

String picturePath = ptarget.getString("Bilderpfad"); 

要做到這一點,你就必須做一些像

intent.putExtra("Bilderpfad", value)"; 

當您發送Intent這個Activity。其次,你打電話onActivityResult()但這隻會被稱爲當你從這個類開始IntentstartActivityForResult(),然後調用setResult()從被調用的類,我不認爲你在做。除非我錯過了一些東西,你需要去通過INtent Docs

我覺得你接近,但我相信你缺少的

+0

從來就現在想這一點,但它也doesn't工作。 – user1735856 2013-03-23 09:43:50

+0

@ user2026823你有什麼確切的問題?變量是'null','onActivityResult'不會被調用,別的? – codeMagic 2013-03-24 03:24:37