微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用位于不同片段中的开关时如何更改文本视图的文本?

如何解决使用位于不同片段中的开关时如何更改文本视图的文本?

我想创建一个允许我执行不同计算的应用程序(所以我选择使用片段),我使用一个微调器以便用户可以选择所需的计算和一个开关来更改测量系统(SI 或 FPS) ).

我已经设法调用了不同的片段,并且使用开关改变了微调器的单位(再次填充它),因为只有每个片段中的单位发生变化,我问修改 textView 是否更容易而不是重新创建另一个片段。

嗯...我没有成功

public class FresadoFragment extends Fragment {

    View root;
    Spinner spinner;
    Switch pulgadas;


    public Avancedemesa avancedemesa;
    public VeLocidaddecorte veLocidaddecorte;
 
    public Calculosfresa calculosfresa;

    public View onCreateView (LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){


       root = inflater.inflate(R.layout.fragment_fresado,container,false);



       spinner = (Spinner) root.findViewById(R.id.spinnercalculotaladrado);
       pulgadas = (Switch) root.findViewById(R.id.switch2);


        avancedemesa =new Avancedemesa();
        veLocidaddecorte = new VeLocidaddecorte();
        calculosfresa = new Calculosfresa();

        getFragmentManager().beginTransaction().add(R.id.fresadofragment,calculosfresa).commit();

        final ArrayList<String> calfresado= new ArrayList<>();
        calfresado.add(" ");
        calfresado.add("Avance de mesa,vf  (mm/min)");
        calfresado.add("VeLocidad de corte,vc  (m/min)");
        
        final ArrayAdapter spinnerf=new ArrayAdapter(getActivity(),android.R.layout.simple_spinner_item,calfresado);
        spinner.setAdapter(spinnerf);

pulgadas.setonCheckedchangelistener(new CompoundButton.OnCheckedchangelistener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        if (isChecked){
            final ArrayList<String> calfresado= new ArrayList<>();
            calfresado.add(" ");
            calfresado.add("Avance de mesa,vf  (pulg./min)");
            calfresado.add("VeLocidad de corte,vc  (pies/min)");
           
            final ArrayAdapter spinnerf=new ArrayAdapter(getActivity(),calfresado);
            spinner.setAdapter(spinnerf);

        }else {
            final ArrayList<String> calfresado= new ArrayList<>();
            calfresado.add(" ");
            calfresado.add("Avance de mesa,vf  (mm/min)");
            calfresado.add("VeLocidad de corte,vc  (m/min)");
            final ArrayAdapter spinnerf=new ArrayAdapter(getActivity(),calfresado);
            spinner.setAdapter(spinnerf);

        }
    }
});

        spinner.setonItemSelectedListener(new AdapterView.OnItemSelectedListener() {
           @Override
            public void onItemSelected(AdapterView<?> adapterView,View view,int position,long l) {
                String tipocalfresa = (String) spinner.getSelectedItem();
                FragmentTransaction transaction= getFragmentManager().beginTransaction();


                if(tipocalfresa.equals(" ")) {
                    transaction=   transaction.replace(R.id.fresadofragment,calculosfresa);
                }else if (tipocalfresa.equals("Avance de mesa,vf  (mm/min)")){

                    transaction=   transaction.replace(R.id.fresadofragment,avancedemesa);

                }else if(tipocalfresa.equals("VeLocidad de corte,vc  (m/min)")){
                    transaction=   transaction.replace(R.id.fresadofragment,veLocidaddecorte);

                }

                else if (tipocalfresa.equals("Avance de mesa,vf  (pulg./min)")){

                    transaction=   transaction.replace(R.id.fresadofragment,avancedemesa);

                    Avancedemesa.actulizarItem();   //i try this

                }
                transaction.commit();
            }

            @Override
            public void onnothingSelected(AdapterView<?> parent) {

            }

        });
 return root;

        }
}

这是 avancedemesa 的片段:

public class Avancedemesa extends Fragment {

    EditText FZ;
    EditText zeff;
    EditText n;
    TextView vdhrpm;
    Button calcular;
    double resultado;


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

        View root = inflater.inflate(R.layout.fragment_avancedemesa,false);

        FZ = (EditText) root.findViewById(R.id.editvf);
        zeff = (EditText) root.findViewById(R.id.editae);
        n = (EditText) root.findViewById(R.id.editap);
        calcular=(Button) root.findViewById(R.id.button6);
        vdhrpm= (TextView)root.findViewById(R.id.textV6);

        calcular.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                double zef = Integer.valueOf(zeff.getText().toString());
                double N = Integer.valueOf(n.getText().toString());
                double Fz = Integer.valueOf(FZ.getText().toString());

                resultado= Fz*N*zef;

                Toast.makeText(getActivity(),"Avance de la mesa: " + resultado,Toast.LENGTH_SHORT).show();
            }
        });

        return root;
    }
    public void actulizarItem(){       //este seria la acción a realizar
        vdhrpm.setText("VeLocidad del husillo,n  (rpm)");

    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。