首页 > 解决方案 > 在 Dependent Spinner 上添加功能

问题描述

是否可以将功能放在依赖微调器上,我有 3 个微调器,一个是父微调器,其中两个是子微调器。我正在尝试完成,所以当我选择父微调器的某个选项时,它会自动更改子微调器,这取决于我选择的内容(这是有效的)。但问题是我不知道如何在我试图创建单位转换器的功能上添加功能,因此当我选择例如时间(来自父微调器)时,它会将我的两个子微调器都更改为时间单位(秒分钟等)。 )。我试图通过在这两个子微调器的功能和来自 EditText 的输入之间添加功能来实现这一点。将单位转换为秒到分钟,小时到分钟等,并显示TextView的输出。

我希望我已经充分解释了它......

谢谢你的每一个回答<3

这是代码:

 package org.multi.multicalculator;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {


    //Spinnery
    Spinner CategorySpinner,FromUnitSpinner,ToUnitSpinner; //spinnnery
    EditText EnterNumber;
    TextView Output;


    //Array
    ArrayList<String> CategorySpinnerList; //arraylist
    ArrayList<String> FromUnitSpinnerListTime,ToUnitSpinnerListTime;
    ArrayList<String> FromUnitSpinnerListLength,ToUnitSpinnerListLength;


    ArrayAdapter<String>Categoryadapter; //categoryadapter

    ArrayAdapter<String>FromUnitSpinnerAdapter;
    ArrayAdapter<String>ToUnitSpinnerAdapter;



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

//Inicializacia
        CategorySpinner = findViewById(R.id.sp1);
        FromUnitSpinner = findViewById(R.id.sp2);
        ToUnitSpinner = findViewById(R.id.sp3);

        EnterNumber = findViewById(R.id.EnterNumber);
        Output = findViewById(R.id.Output);

        //Hlavny spinner list.
        CategorySpinnerList = new ArrayList<>();
        CategorySpinnerList.add("Time");
        CategorySpinnerList.add("Length");

        //Time
        FromUnitSpinnerListTime = new ArrayList<>();
        FromUnitSpinnerListTime.add("Seconds");
        FromUnitSpinnerListTime.add("Minutes");
        FromUnitSpinnerListTime.add("Hours");

        //Time
        ToUnitSpinnerListTime = new ArrayList<>();
        ToUnitSpinnerListTime.add("Seconds");
        ToUnitSpinnerListTime.add("Minutes");
        ToUnitSpinnerListTime.add("Hours");


        FromUnitSpinnerListLength = new ArrayList<>();
        FromUnitSpinnerListLength.add("centimeter");
        FromUnitSpinnerListLength.add("decimeter");
        FromUnitSpinnerListLength.add("meter");


        ToUnitSpinnerListLength = new ArrayList<>();
        ToUnitSpinnerListLength.add("centimeter");
        ToUnitSpinnerListLength.add("decimeter");
        ToUnitSpinnerListLength.add("meter");




        //Category Spinner Array
        Categoryadapter = new ArrayAdapter<>(getApplicationContext(),R.layout.support_simple_spinner_dropdown_item, CategorySpinnerList);
        CategorySpinner.setAdapter(Categoryadapter);


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

                if (position==0) {

                    FromUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), R.layout.support_simple_spinner_dropdown_item, FromUnitSpinnerListTime);


                    ToUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), R.layout.support_simple_spinner_dropdown_item, ToUnitSpinnerListTime);

                } if (position==1) {

                    FromUnitSpinnerAdapter = new ArrayAdapter<>(getApplicationContext(), R.layout.support_simple_spinner_dropdown_item, FromUnitSpinnerListLength);
                    ToUnitSpinnerAdapter  = new ArrayAdapter<>(getApplicationContext(), R.layout.support_simple_spinner_dropdown_item, ToUnitSpinnerListLength);

                }

               FromUnitSpinner.setAdapter(FromUnitSpinnerAdapter);
                ToUnitSpinner.setAdapter(ToUnitSpinnerAdapter);
            }

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

        });

    }
}

标签: javaandroid

解决方案


推荐阅读