Как получить доступ к CheckedTextView в другом фрагменте? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть два простых фрагмента, один из которых содержит 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;
}

Спасибо.

...