在活动之间发送布尔值

时间:2016-12-05 00:33:34

标签: android android-activity

就像标题所说的那样,我试图将一个布尔值从一个活动发送到另一个活动。

发送活动就是这个。

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。 它会影响它吗? 如何发送和接收布尔值并获取值?

2 个答案:

答案 0 :(得分:1)

我在手机上尝试了你的代码。它已经完成了。 也许这是你的活动的launchMode原因。 检查您的xml并将您的活动设置为default。再试一次。

答案 1 :(得分:0)

你能尝试实现onNewIntent,如下所示:

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