Java 如何将微调器与转换器连接

Java 如何将微调器与转换器连接,java,android,spinner,Java,Android,Spinner,我需要将微调器与editText连接以获得转换器的结果 微调器和我的转换器之间没有连接 public class A01Acre extends Activity { Spinner spinnerarea; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(sav

我需要将微调器与editText连接以获得转换器的结果

微调器和我的转换器之间没有连接

public class A01Acre extends Activity {
    Spinner spinnerarea;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.a01acre);  


        final    EditText editAcre = (EditText) findViewById(R.id.editAcre);        
        final    EditText editHectar = (EditText) findViewById(R.id.editHectar);        
        final    EditText editSquareinch = (EditText) findViewById(R.id.editSquareinch);
        final    EditText editSquarekm = (EditText) findViewById(R.id.editSquarekm);
        final    EditText editSquaremeter = (EditText) findViewById(R.id.editSquaremeter);
        final    EditText editSquaremile = (EditText) findViewById(R.id.editSquaremile);
        final    EditText editSquareyard = (EditText) findViewById(R.id.editSquareyard);

        Button buttonConvert = (Button) findViewById (R.id.buttonConvertAcre);
        buttonConvert.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                //try
                try {
                    //    
                    double acre = Double.valueOf (editAcre.getText().toString());
                    double hectar = acre * 0.404686;
                    double squareinch = acre * 6.273e+6;
                    double squarekm = acre * 0.00404686;
                    double squaremeter = acre * 4046.86;
                    double squaremile = acre * 0.0015625;
                    double squareyard = acre * 4840;


                    editHectar.setText (String.valueOf(hectar));
                    editSquareinch.setText (String.valueOf(squareinch));
                    editSquarekm.setText (String.valueOf(squarekm));                    
                    editSquaremeter.setText (String.valueOf(squaremeter));
                    editSquaremile.setText (String.valueOf(squaremile));                    
                    editSquareyard.setText (String.valueOf(squareyard));        

                    //catch
                } catch (NumberFormatException ex) {
                    // write a message to users
                    editHectar.setText ("");
                }
            }


        });


        spinnerarea = (Spinner) findViewById(R.id.spinnerarea);

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.spinnerTestArray, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerarea.setAdapter(adapter);
        spinnerarea.setOnItemSelectedListener(new MyOnItemSelectdListerne());
    }

    @Override
    public void onDestroy(){
        super.onDestroy();
    }


    public class MyOnItemSelectdListerne implements OnItemSelectedListener {

        @Override
        public void onItemSelected(AdapterView<?> patent,
                View view, int pos, long id) {
            String str = patent.getItemAtPosition(pos).toString().toUpperCase();
        }

        @Override
        public void onNothingSelected(AdapterView parent) {




        }
    }
}
公共类A01Acre扩展活动{
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.a01acre);
最终EditText editAcre=(EditText)findViewById(R.id.editAcre);
最终EditText-Edithetar=(EditText)findViewById(R.id.Edithetar);
最终EditText editSquareinch=(EditText)findViewById(R.id.editSquareinch);
最终EditText editSquarekm=(EditText)findViewById(R.id.editSquarekm);
最终EditText editSquaremeter=(EditText)findViewById(R.id.editSquaremeter);
最终EditText editSquaremile=(EditText)findViewById(R.id.editSquaremile);
最终EditText editSquareyard=(EditText)findViewById(R.id.editSquareyard);
Button Button转换=(Button)findViewById(R.id.Button转换);
buttonConvert.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
//试一试
试一试{
//    
double acre=double.valueOf(editAcre.getText().toString());
双公顷=英亩*0.404686;
双平方英寸=英亩*6.273e+6;
双平方公里=英亩*0.00404686;
双平方米=英亩*4046.86;
双平方英里=英亩*0.0015625;
双平方码=英亩*4840;
editHectar.setText(String.valueOf(hectar));
editSquareinch.setText(String.valueOf(squareinch));
editSquarekm.setText(String.valueOf(squarekm));
editSquaremeter.setText(String.valueOf(squaremeter));
editSquaremile.setText(String.valueOf(squaremile));
editSquareyard.setText(String.valueOf(squareyard));
//抓住
}捕获(NumberFormatException ex){
//向用户发送消息
editchetar.setText(“”);
}
}
});
spinnerarea=(微调器)findViewById(R.id.spinnerarea);
ArrayAdapter=ArrayAdapter.createFromResource(
这个,R.array.spinnerTestArray,android.R.layout.simple\u spinner\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinnerarea.setAdapter(适配器);
spinnerarea.setOnItemSelectedListener(新的myonitemselectedListener());
}
@凌驾
公共空间{
super.ondestory();
}
公共类MyOnItemSelectedListener实现OnItemSelectedListener{
@凌驾
已选择公共无效(AdapterView专利,
视图,内部位置,长id){
String str=patent.getItemAtPosition(pos.toString().toUpperCase();
}
@凌驾
未选择公共无效(AdapterView父级){
}
}
}

将switch语句添加到您的
onItemSelected()
方法-打开
pos

对于每个单元(每个
案例
),您可以重新计算并将值输出给用户

大概

switch(pos) {
    case 0:
        //acre - redo calculation
        break;
    case 1:
        //hectare - redo calculation
        break;
    case 2:
        //squareinch - redo calculation
        break;
    //...
    default:
        throw new UnexpectedException();
}

//display results to user

将switch语句添加到您的
onItemSelected()
方法-打开
pos

对于每个单元(每个
案例
),您可以重新计算并将值输出给用户

大概

switch(pos) {
    case 0:
        //acre - redo calculation
        break;
    case 1:
        //hectare - redo calculation
        break;
    case 2:
        //squareinch - redo calculation
        break;
    //...
    default:
        throw new UnexpectedException();
}

//display results to user

如果可能的话,请说得精确些。。你想在微调器上显示什么?这是一些非常干净的代码,所以需要一些道具。但是我不确定我是否理解这个问题……在纺纱机里有英亩和公顷等等!!我想当我把英亩换成公顷时,如果可能的话,得到公顷的结果。。你想在微调器上显示什么?这是一些非常干净的代码,所以需要一些道具。但是我不确定我是否理解这个问题……在纺纱机里有英亩和公顷等等!!我想当我把英亩换成公顷时,得到公顷的结果