2012-10-06 83 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);