【问题标题】:How can I sum multiple spinners?如何对多个微调器求和?
【发布时间】:2023-04-01 22:42:02
【问题描述】:

我有多个微调器,其中包含一个字符串数组,其中包含 3 个项目,分别称为“70”、“80”和“90”。在用户选择这些不同的微调器项目后,我希望能够总结用户选择的所有项目并在文本视图中显示总数。例如,用户从一个微调器中选择“70”,从另一个微调器中选择“70” ,一个文本视图将显示总数为 140。我该怎么做?

public class FragmentCalc3 extends Fragment{

Context context;
TextView Results;







public static FragmentCalc3 newInstance()
{
    FragmentCalc3 fragment = new FragmentCalc3();
    return fragment;
}
public FragmentCalc3() {}
// Required empty public constructor

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    // Inflate the layout for this fragment
    View rootView = inflater.inflate(R.layout.fragment_calculator3, container, false);
    Results = (TextView) rootView.findViewById(R.id.Results);



    context = container.getContext();

    final Spinner spinner1 = (Spinner) rootView.findViewById(R.id.TestSpinner2);
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(context, R.array.GradeTest, android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Specify the layout to use when the list of choices appears
    spinner1.setAdapter(adapter1); // Apply the adapter to the spinner

    final Spinner spinner2 = (Spinner) rootView.findViewById(R.id.TestSpinner1);
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(context, R.array.GradeTest, android.R.layout.simple_spinner_item);
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Specify the layout to use when the list of choices appears
    spinner2.setAdapter(adapter2); // Apply the adapter to the spinner

    spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {


            int spinner2Value = Integer.parseInt(spinner2.getSelectedItem().toString());
            int spinner1Value = Integer.parseInt(spinner1.getSelectedItem().toString());
            int Results = spinner2Value + spinner1Value;
        }

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

        }
    });








    return rootView;
}

}

【问题讨论】:

  • 你的代码是什么?你被困在哪里了?如果您尝试一下,这个问题很容易解决。
  • 请使用编辑按钮将代码添加到问题本身

标签: java string android-studio sum spinner


【解决方案1】:

如果您有两个微调器spinner2spinner1,并且您想在选择spinner2 的项目时获得结果,那么只需这样做,

spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        int spinner2Value = Integer.parseInt(spinner2.getSelectedItem().toString()); //Add try catch block if necessary
        int spinner1Value = Integer.parseInt(spinner1.getSelectedItem().toString());
     int yourResult = spinner2Value + spinner1Value; //Result
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
     //Do nothing
    }

});

【讨论】:

  • 感谢您的帮助,但未检测到结果变量。有什么想法吗?
  • 是的,我明白这一点,但问题是在声明变量后它说“结果”在 int 之后不存在。
  • 确保您在两个微调器中都选择了一些值
猜你喜欢
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多