2014-09-13 66 views
2

我是新來的android和目前面臨一些困難。 我有一個imageview,我已經加載了一個URL,我想通過意圖傳遞它的url(image_url)到新的活動,當用戶點擊圖像(imageview)。 在發送活動(//log.d顯示正確的圖片網址)通過意圖傳遞圖像網址到一個新的活動

ImageView my_image = (ImageView) findViewById(R.id.single_image); 
    my_image.setClickable(true);   
    my_image.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent i = new Intent(getApplicationContext(), SingleImage.class); 
      i.putExtra("image_url", image_url); 
      startActivity(i); 
     } 
    }); 

在接收活動:在接收活動

setContentView(R.layout.image); 
    Intent i = getIntent(); 
    id= i.getStringExtra(image_url); 

我沒有收到,我通過通過了圖像的URL發送活動。我真的很感激,如果有人可以幫助

+0

i.getStringExtra是否返回? – erad 2014-09-13 17:03:58

+0

您不需要調用my_image.setClickable(true);您的ImageView默認是可點擊的。 – joao2fast4u 2014-09-13 17:18:55

+0

你在哪裏給image_url變量賦值? – joao2fast4u 2014-09-13 17:20:00

回答

1

也許你可以試試:

Intent i = getIntent(); 
id = i.getExtras().getString("image_url"); 

通過意圖傳遞數據的形式putExtra (String name, String value)

public Intent putExtra (String name, String value) 
Parameters 
name = The name of the extra data, with package prefix. 
value = The String data value. 

當你嘗試獲得通過數據,您可以使用getStringExtra (String name)其中

public String getStringExtra (String name) 
Parameters 
name = The name of the desired item. 

所以,當你得到額外的,你必須使用字符串name - 不是一個變量。 (對於您的情況:i.getStringExtra("image_url");而不是i.getStringExtra(image_url);

請參閱Android documentation

+1

非常感謝你現在的工作 – Zee 2014-09-13 17:14:15

+0

如果這個解決方案爲你工作,請指出這是答案並投票。 – erad 2014-09-13 17:18:03

+0

我已經表示答案只是我不能投票:(它需要15點聲望,而且我是新的,甚至連一個聲望都沒有。對不起,非常感謝你的幫助 – Zee 2014-09-13 17:23:01

相關問題