【问题标题】:Pulling a value from a spinner从微调器中提取值
【发布时间】:2014-07-22 11:50:43
【问题描述】:

我需要一些微调帮助。我有三个微调器,如我上传的 XML 屏幕截图所示,我需要能够从中获取值以用于公式。公式是

MSF 成本 = 1000/(宽/12*长) * 厚度

宽度、长度和厚度的值可以在同名的微调器中选择。 我不知道,也没有在网上找到一个好的指南,以便能够将选定的微调器值放入变量中以在上述公式中使用。

    public class Rotary extends Activity {



    private double rollCost; // Entered Price of the Roll
    private double thickness; // selected thickness
    private double width; // selected width
    private double length; // selected length
    private double MSF; //square foot price

    EditText total; // textbox to show total value
    EditText rollPrice; //Textbox for entering price
    Spinner slength;
    Spinner swidth;
    Spinner sthick;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rotary);



        rollPrice = (EditText) findViewById(R.id.RollPrice);
        total = (EditText) findViewById(R.id.total);
        sthick = (Spinner) findViewById(R.id.Thick_spinner);
        swidth = (Spinner) findViewById(R.id.Width_spinner);
        slength = (Spinner) findViewById(R.id.length_spinner);

        //rollPrice.addTextChangedListener(rollPriceListener);
       swidth = (Spinner) findViewById(R.id.Width_spinner);
       sthick = (Spinner) findViewById(R.id.Thick_spinner);
       slength = (Spinner) findViewById(R.id.length_spinner);




        TextWatcher rollPriceListener = new TextWatcher(){

            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {

                try{

                    // Change the billBeforeTip to the new input

                    rollCost = Double.parseDouble(arg0.toString());

                }

                catch(NumberFormatException e){

                    rollCost = 0.0;

                }




        };
};

【问题讨论】:

    标签: android spinner


    【解决方案1】:

    当你想从微调器中获取价值时,写在下面的行:

    String value = YOUR_SPINNER.getSelectedItem().toString();
    

    【讨论】:

    • 我是否将其中 3 个放在一起并更改字符串名称?这是否将按下的数字放入一个变量中,然后我可以再次将其用于上面的公式?
    • 是的,声明3个String变量并获取其中的选定值。
    • 我在这方面很陌生,我正在自学,所以我很难跟上。所以我可以把 String value = width_spinner.getSelectedItem().toString();并声明字符串宽度;那么现在我将代码放在哪里,只是随机地放在 oncreate 中?
    • 那么当你想要你的价值时,就像上面那样做,它只是一行代码,所以我认为不需要更多时间来学习,试着自己学习新事物。
    • MSF=1000/(Double.parseDouble(B5)/12*Double.parseDouble(B6))*Double.parseDouble(B3);
    【解决方案2】:

    Spinner 已经有一个内置函数可以做到这一点。

    我进行了基本的 Google 搜索并找到了这些:

    https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=spinner+get+selected+value&safe=off

    How do you get the selected value of a Spinner?

    【讨论】:

    • 我也进行了基本的谷歌搜索并阅读了其中一些示例,我的问题是将其转换为我自己的代码。我需要为每个微调器提供一种方法还是只为所有人提供一种方法?我不需要任何人为我编写代码,只是为了让我朝着正确的方向开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2015-12-03
    • 1970-01-01
    相关资源
    最近更新 更多