Static переменная из EditText Android

С прошлого вопроса я так и не получил точного ответа, как передать переменную из EditText с одного фрагмента на другой, но я узнал, что для этого можно воспользоваться static переменными.

При попытке сделать переменную из EditText статичной, мне выдаёт такую ошибку: Non-static variable 'bEt' cannot be referenced from a static context и Modifier 'static' not allowed here.

static float b = Float.parseFloat(bEt.getText().toString());

Что мне делать?

Вот весь код:

Fragment1.java

package com.example.quadraticequationsolver;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import java.lang.Math;
import java.util.Objects;


public class fragment1 extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

        View rootView = inflater.inflate(R.layout.fragment_fragment1, container, false);

        EditText aEt = (EditText) rootView.findViewById(R.id.a);
        EditText bEt = (EditText) rootView.findViewById(R.id.editText);
        EditText cEt = (EditText) rootView.findViewById(R.id.editText2);
        TextView d = (TextView) rootView.findViewById(R.id.discriminant);
        TextView explanation = (TextView) rootView.findViewById(R.id.textView11);
        Button solve = (Button) rootView.findViewById(R.id.button);
        TextView solution = (TextView) rootView.findViewById(R.id.solutionTv);
        ImageView formula1 = (ImageView) rootView.findViewById(R.id.imageView);

       

        solve.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                if (aEt.getText().length() == 0) {
                    aEt.setText("1");
                }
                if (bEt.getText().length() == 0) {
                    bEt.setText("1");
                }
                if (cEt.getText().length() == 0) {
                    cEt.setText("0");
                }


                float b = Float.parseFloat(bEt.getText().toString());
                float a = Float.parseFloat(aEt.getText().toString());
                float c = Float.parseFloat(cEt.getText().toString());
                float dis = b * b - 4 * a * c;


                Fragment fr = new Fragment();
                Bundle bundle = new Bundle();
                bundle.putFloat("aVar", a);
                fr.setArguments(bundle);
                FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().replace(R.id.content_frame,  fr).commit();



                d.setText("= " + bEt.getText().toString() + "² - 4 * " + aEt.getText().toString() + " * " + cEt.getText().toString() + " = " + Float.toString(dis));

             

            }
        });

        return rootView;
    }
}

fragment3.java

package com.example.quadraticequationsolver;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.LineGraphSeries;

public class fragment3 extends Fragment {

    LineGraphSeries<DataPoint> series;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootView1 = inflater.inflate(R.layout.fragment_fragment3, container, false);

        double y,x;
        x = -500.0;


        Bundle test = getArguments();
        Float a = test.getFloat("aVar");


        GraphView graph = (GraphView) rootView1.findViewById(R.id.graph);
        series = new LineGraphSeries<DataPoint>();
        for(int i = 0; i < 1000; i++) {
            x = x + 0.1;
            y = x * a;
            series.appendData(new DataPoint(x, y), true, 1000);
        }
        graph.addSeries(series);

        return rootView1;
    }
}

VPadapter.java

package com.example.quadraticequationsolver;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.ArrayList;

public class VPAdapter extends FragmentPagerAdapter {

    private final ArrayList<Fragment> fragmentArrayList = new ArrayList<>();
    private final ArrayList<String> fragmentTitle = new ArrayList<>();

    public VPAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentArrayList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentArrayList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        fragmentArrayList.add(fragment);
        fragmentTitle.add(title);
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentTitle.get(position);
    }
}

Ответы (0 шт):