Я пытаюсь сделать приложение, где оно контролирует аспекты сада. Изменение температуры, влажности, ветра и т. Д. Прямо сейчас я начинаю с температуры, и я не понимаю, что я делаю не так, здесь - мой код. Это фрагмент термометра, и он должен отправлять данные в домашний фрагмент и определить число, которое было введено пользователем, должен включить тепло или охладить сад < /p>
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_thermometer, container, false);
Button enter = view.findViewById(R.id.btTemp);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText degrees = view.findViewById(R.id.nmDegrees);
Bundle onOrOff = new Bundle();
onOrOff.putInt("df1", Integer.parseInt(degrees.getText().toString()));
getParentFragmentManager().setFragmentResult("dataFromThermometer", onOrOff);
degrees.setText("");
}
});
return view;
}
}
//this is the home fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
// Inflate the layout for this fragment
getParentFragmentManager().setFragmentResultListener("dataFromThermometer", this, new FragmentResultListener() {
@Override
public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle onOrOff) {
int temP = onOrOff.getInt("df1");
TextView temp = view.findViewById(R.id.tvTemp);
if(temP < 72){
temp.setText("Heat On!");
}
if(temP > 72) {
temp.setText("Cool Off");
}
}
});
return view;
}
}
< /code>
Я пробовал восстановить файлы Gradle, но мое приложение продолжает закрываться, когда я нажимаю кнопку.2025-03-10 22:44:21.775 27891-27891/com.example.weathergarden E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.weathergarden, PID: 27891
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.example.weathergarden.ThermometerFragment$1.onClick(ThermometerFragment.java:82)
at android.view.View.performClick(View.java:8033)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1131)
at android.view.View.performClickInternal(View.java:8010)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:31336)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8787)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:871)
2025-03-10 22:44:21.793 27891-27891/com.example.weathergarden I/Process: Sending signal. PID: 27891 SIG: 9
Подробнее здесь: https://stackoverflow.com/questions/794 ... -closes-th
Попытка отправить данные в другой фрагмент, но когда я нажимаю кнопку, она закрывает приложение ⇐ Android
Форум для тех, кто программирует под Android
1741760067
Anonymous
Я пытаюсь сделать приложение, где оно контролирует аспекты сада. Изменение температуры, влажности, ветра и т. Д. Прямо сейчас я начинаю с температуры, и я не понимаю, что я делаю не так, здесь - мой код. Это фрагмент термометра, и он должен отправлять данные в домашний фрагмент и определить число, которое было введено пользователем, должен включить тепло или охладить сад < /p>
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_thermometer, container, false);
Button enter = view.findViewById(R.id.btTemp);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText degrees = view.findViewById(R.id.nmDegrees);
Bundle onOrOff = new Bundle();
onOrOff.putInt("df1", Integer.parseInt(degrees.getText().toString()));
getParentFragmentManager().setFragmentResult("dataFromThermometer", onOrOff);
degrees.setText("");
}
});
return view;
}
}
//this is the home fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
// Inflate the layout for this fragment
getParentFragmentManager().setFragmentResultListener("dataFromThermometer", this, new FragmentResultListener() {
@Override
public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle onOrOff) {
int temP = onOrOff.getInt("df1");
TextView temp = view.findViewById(R.id.tvTemp);
if(temP < 72){
temp.setText("Heat On!");
}
if(temP > 72) {
temp.setText("Cool Off");
}
}
});
return view;
}
}
< /code>
Я пробовал восстановить файлы Gradle, но мое приложение продолжает закрываться, когда я нажимаю кнопку.2025-03-10 22:44:21.775 27891-27891/com.example.weathergarden E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.weathergarden, PID: 27891
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.example.weathergarden.ThermometerFragment$1.onClick(ThermometerFragment.java:82)
at android.view.View.performClick(View.java:8033)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1131)
at android.view.View.performClickInternal(View.java:8010)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:31336)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8787)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:871)
2025-03-10 22:44:21.793 27891-27891/com.example.weathergarden I/Process: Sending signal. PID: 27891 SIG: 9
Подробнее здесь: [url]https://stackoverflow.com/questions/79499587/trying-to-send-data-to-another-fragment-but-when-i-press-the-button-it-closes-th[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия