java - 如何将微调器与我的转换器连接

标签 java android spinner

  1. 我需要将微调器与 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) {
    
    
    
    
            }
        }
    }
    

最佳答案

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

对于每个单元(每个case),您可以重新计算,然后将值输出给用户。

有点像,

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

关于java - 如何将微调器与我的转换器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14567469/

相关文章:

android - 方向改变改变微调器的位置

android - 如何从android中的getDropDownView方法获取微调器ID或标签

java - OperatingSystemMXBean CPU使用方法

c# - 连接字符串时如何插入空格 ("")?

java - 访问空格后的字符

android - 检查我是否在我的 wifi 网络范围内

android - 如何在 AlertDialog Android 中插入 editText 编号

android - 任务 mockableAndroidJar 执行失败

java - onClick 事件不工作 Android

java - 更改加密文件的 AES key 而不解密/重新加密它