2012-10-06 65 views
-1

我使用此代碼通過INT到機器人活動

Intent intent = new Intent(A.this, B.class);  
intent.putExtra("selectedType", i);  
startActivity(intent); 

,然後再通過INT到下一個活動的活性乙收到此

Intent intent = new Intent(); 
int i = intent.getIntExtra("selectedType", 0); 
Toast.makeText(getApplicationContext(), String.valueOf(i), 
Toast.LENGTH_LONG).show(); 

但是當在該活動中,它總是顯示0

+0

很多正確答案是given..so請接受正確的答案。 –

回答

2
Intent intent = new Intent(); 

你正在創建使用一個傳遞到你的ActivityB的新意圖代替。所以用

Intent intent = getIntent(); 

改爲;

0

嘗試getIntent().getExtras().getInt("selectedType")

0

立即嘗試,

int value = getIntent().getExtras().getInt("selectedType"); 
0
Intent intent = new Intent(A.this, B.class); 
    intent.putExtra("selectedType",i); 
    startActivity(intent); 

和接收..

if (getIntent().getExtras().containsKey("selectedType")) { 
     int message = getIntent().getIntExtra("selectedType"); 

     Toast.makeText(ReceiverActivity.this, "" + message, Toast.LENGTH_LONG) 
       .show(); 
    } 
0
Intent intent = new Intent(A.this, B.class);  
intent.putExtra("selectedType", i);  
startActivity(intent); 


Intent intent = new getIntent(); 
        ^^^^^^^^^ 
int i = intent.getIntExtra("selectedType", 0); 
Toast.makeText(getApplicationContext(), String.valueOf(i), 
Toast.LENGTH_LONG).show(); 
0

因爲你正在創建一個新的意圖,並試圖讓 「selectedType」 就可以了。但是這個意圖剛剛創建,所以它沒有你所尋求的價值。

嘗試getIntent()方法來獲得您的通話意圖,裏面有你的 「selectedType」 價值...... 這裏有一個卡扣:

Bundle extras = getIntent().getExtras(); 
if(extras != null) { 
    int value = extras.getIntExtra("selectedType", 0); 
    Toast.makeText(getApplicationContext(), String.valueOf(value), Toast.LENGTH_LONG).show(); 
} 
0

,然後收到此在活動B

Intent intent = new Intent(); 
int i = intent.getIntExtra("selectedType", 0); 

這是錯誤的。您正在創建一個新的意圖對象。要獲取用於啓動此活動的意圖對象,請使用getIntent()方法。

Intent intent = getIntent(); 
int i = intent.getIntExtra("seelctedType", 0); 
1

使用本int i = getIntent().getIntExtra("selectedType", 0);