У меня есть два простых фрагмента, один из которых содержит CheckedTextView (SysFrag). Я определил один из них, как указано ниже.
SysFrag (содержит проверенный текстовый просмотр)
CheckedTextView checkedTextView_IMU,checkedTextView_GSR ;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.system_frag,container,false);
checkedTextView_IMU = (CheckedTextView) view.findViewById(R.id.checkedTextView_IMU);
/*checkedTextView_IMU.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(checkedTextView_IMU.isChecked()){
checkedTextView_IMU.setChecked(false);
}else{
checkedTextView_IMU.setChecked(true);
}
}
});*/
return view;
}
public CheckedTextView getCheckedTextView_IMU(){
return checkedTextView_IMU;
}
system_frag. xml
<CheckedTextView
android:id="@+id/checkedTextView_IMU"
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@drawable/imu"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:layout_marginRight="40dp"
android:checked="false"
android:enabled="true"
android:longClickable="true"
android:padding="10dp"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/black"
/>
Что я ищу: Я хочу проверить и снять (доступ к CheckedTextBox) в другом фрагменте (SyetmsFragment), прикрепленном ниже. Поэтому я попробовал это, как показано ниже, но это всегда приводит к ошибке ниже.
java .lang.NullPointerException: попытка вызвать виртуальный метод 'android .widget.CheckedTextView com.example.myapplication.fragments.SystemFrag.getCheckedTextView_IMU ()' для ссылки на пустой объект
Буду очень признателен за любые предложения о том, как правильно получить доступ к CheckedTextView внутри другого фрагмента.
Моя попытка такая же, как показано ниже.
SystemFragment (где я хочу получить доступ к CheckedTextView)
SystemFrag systemFrag;
CheckedTextView checkedTextView_IMU;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.system_fragment,container,false);
//checkedTextView
checkedTextView_IMU = systemFrag.getCheckedTextView_IMU();
checkedTextView_IMU.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(checkedTextView_IMU.isChecked()){
checkedTextView_IMU.setChecked(false);
}else{
checkedTextView_IMU.setChecked(true);
}
}
});
return view;
}
Спасибо.