2013-11-10 2 views
0

Я не понимаю, как получить намерение от другого макета, потому что у меня есть MenuLayout, у которого есть флажки для TextSize.Как использовать намерение

if(male_pismo.isChecked()){ 
     velkost_pisma=22; 
     Intent intent_pismo = new Intent(this, MainActivity.class); 
     intent_pismo.putExtra("font_size", velkost_pisma); 
     startActivity(intent_pismo); 
    } 

и когда я нажимаю на флажок, намерение не запускается. Есть ли ошибка в моем коде? Или я должен использовать кнопку «Button», чтобы начать умываться?

И второй вопрос, у меня есть в моем коде MainActivity

Intent i=getIntent(); 
    Bundle extras = i.getExtras(); 
    velkost_pisma=extras.getInt("font_size"); 

и когда нет ничего в намерениях моя программа падает.

+0

Добавить некоторые журналы, чтобы проверить, выполняется ли код. – nhaarman

ответ

0

и когда я нажимаю на галочку, намерение не начинается.

Вы установили OnCheckedChangeListener для своей CheckBox? Вероятно, вы, вероятно, забыли вызвать метод setOnCheckedChangeLister для своего CheckBox, потому что из фрагмента кода при условии, что все выглядит правильно.

, а когда нет ничего намерения, моя программа падает.

Здесь вам нужно проверить из Намерение данных являются недействительными или нет:

Intent i = getIntent(); 
Bundle extras = i.getExtras(); 
if (extras != null) { 
    velkost_pisma = extras.getInt("font_size"); 
} 
+0

Хорошо. Я добавляю этот код в свою программу. И я не использую OnCheckedChangeListener. – Patrick

+0

@Patrick OnCheckedChangeListener обычно рекомендуется для CheckBoxes. Другие слушатели могут работать не правильно. – Sajmon

+0

Я добавил тест намерения на мой код, но он по-прежнему падает. // отредактируйте SOrry по моей ошибке, я пропустил удаление одной строки кода после if. – Patrick

Смежные вопросы