2016-12-05 4 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. Это влияет на это? Как я могу отправить и получить значение boolean и получить значение?

+0

это странно ... вы можете проверить это http://stackoverflow.com/questions/6751564/how-to-pass-a-boolean-between -intents – shanwu

+0

Вы извлекли пакет изнутри в 'onCreate'? – Enzokie

+0

@ Enzokie Да, я пробовал это на onCreate, onResume и onStart, ничего не работает. –

ответ

1

Я пробовал свой код на своем телефоне. Он работал. Возможно, это причина запуска вашей активности. Проверьте свой xml и установите свою активность по умолчанию. Повторите попытку.

+0

yeah Я согласен с тобой – shanwu

+0

Установлен как android: launchMode = "singleTask" Должен ли я изменить его? –

0

Вы можете попробовать реализовать onNewIntent, как показано ниже:

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    //get intent extras here 
} 
Смежные вопросы