2013-07-19 59 views
3

我很新的到Android編程..我有這個問題..我想傳遞一個值,但結果是空..我不知道爲什麼會這樣..誰能幫助我?提前致謝。我的代碼是這樣的..Android傳遞值爲什麼爲null?

Manager.java

String prize="5"; 
Intent i = new Intent(Manager.this, Shop.class); 
i.putExtra("Key", prize); 
startActivity(i); 

Shop.java

Intent myIntent = getIntent(); 
    String receive = myIntent.getStringExtra("Key"); 

    if (getIntent().getExtras() != null) 
    {    
    TextView tv = (TextView)findViewById(R.id.textView2); 
    tv.setText(receive); 
    } 

    else 
    { 
     TextView tv = (TextView)findViewById(R.id.textView2); 
     tv.setText("value is null"); //this is always the result 
             //why is it null?? 
    } 
+0

第一次使用這個和檢查數據是否來不來。 Toast.makeText(Shop.this,「」+ receive,Toast.LENGTH_LONG).show(); – TheLittleNaruto

+0

@Kumar我試圖Toast.makeText ......但價值仍是空 – user2599219

+0

嘿請舉杯它只是這一行 字符串低於收到= myIntent.getStringExtra(「重點」); 如果條件沒有在裏面。 – TheLittleNaruto

回答

1

功能getExtras()返回一個Bundle使用putExtras放置在Intent(B)。就像這樣:

Intent i = new Intent(Manager.this, Shop.class); 
i.putExtras(new Bundle()); 
startActivity(i); 

由於您沒有使用putExtras函數,所以getIntent()。getExtras()返回null。你應該做的是這樣的:

Intent myIntent = getIntent(); 
String receive = myIntent.getStringExtra("Key"); 

if (receive != null) 
{    
TextView tv = (TextView)findViewById(R.id.textView2); 
tv.setText(receive); 
} 

else 
{ 
    TextView tv = (TextView)findViewById(R.id.textView2); 
    tv.setText("value is null"); //this is always the result 
            //why is it null?? 
} 
1

試試這個您試圖訪問不同的密鑰你已經設置

String value= "Your String"; 
// Launching new Activity on selecting single List Item 
Intent i = new Intent(getApplicationContext(), Test.class); 
// sending data to new activity 
i.putExtra("key", value); 
startActivity(i); 

而且在接下來的活動

Intent i = getIntent(); 
// getting attached intent data 
String value= i.getStringExtra("value"); 
// displaying selected product name 
txtProduct.setText(value); 
+0

我想這一點。但是我的textview沒有發生任何事情。我加了烤麪包,價值爲零。爲什麼這樣? – user2599219

+0

@ user2599219具有u看到這個網址http://www.androidhive.info/2011/10/android-listview-tutorial/ – 2013-07-19 12:34:35

+0

即使我得到了我的問題,從這個URL的解決方案希望u得到ü運氣 – 2013-07-19 12:35:51

1

試試這個:

getIntent().getExtras().getString("KEY"); 

可能是吧應該這樣做。