问题描述
我想创建一个允许我执行不同计算的应用程序(所以我选择使用片段),我使用一个微调器以便用户可以选择所需的计算和一个开关来更改测量系统(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 (将#修改为@)