2016-12-05 45 views
1

就像标题所说,我试图从一个活动发送布尔值到其他活动。在活动之间发送一个布尔值

发送活动就是这样。

public class ReadyActivity extends Activity { 
private TextView text; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_ready); 
    text = (TextView) findViewById(R.id.contador); 
    new CountDownTimer(3000, 1000) { 

     public void onTick(long millisUntilFinished) { 
      text.setText(""+millisUntilFinished/1000); 
     } 

     public void onFinish() { 
      Intent intent = new Intent(ReadyActivity.this, StreamingActivity.class); 
      intent.putExtra("ready",true); 
      startActivity(intent); 
      finish(); 
     } 

    }.start(); 
} 

以及接收活动我这只是为了检查有价

Bundle extras = getIntent().getExtras(); 
    if(extras != null){ 
     if(extras.getBoolean("ready")){ // if an extra has been set 
      Toast.makeText(getApplicationContext(), "Test 1 Worked", Toast.LENGTH_LONG).show(); 
     } 
    } 
    else 
    { 
     Toast.makeText(getApplicationContext(), "Doesn't work", Toast.LENGTH_LONG).show(); 
    } 

,它总是把我不工作的消息。

我必须补充说,发送活动有Theme.Dialog。 它会影响它吗? 如何发送和接收布尔值并获取值?

+0

它的怪异......你可以检查这个http://stackoverflow.com/questions/6751564/how-to-pass-a-boolean-between -intents – shanwu

+0

您是否在'onCreate'中检索了Bundle? – Enzokie

+0

@Enzokie是的,我已经尝试了onCreate,onResume和onStart,没有任何工作。 –

回答

1

我在手机上试过了你的密码。 也许这是您的活动的launchMode原因。 检查你的XML并设置你的活动default.Try再次。

+0

是啊我同意你 – shanwu

+0

它被设置为 android:launchMode =“singleTask”我应该改变它吗? –

0

你能尽量实现onNewIntent象下面这样:

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    //get intent extras here 
}