java - 在 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) {
}
});
}
}
解决方案
推荐阅读
- java - 在 Felix 中启动和运行 CXF (JAX-RS) Web 资源的最低要求是什么?
- sql-server - SQL Server 崩溃
- iis - .NET Core WebAPI IIS 部署
- git - git push -u origin master 命令未反映 github 上的更改
- html - Oracle Virtualbox 网络 SPAN/镜像端口
- javascript - 为什么我的 if & else 条件不能正常工作?
- java - 将json字符串反序列化为具有杰克逊字符串属性的对象
- python - 带有 sqlalchemy 的 Flask 应用程序尝试使用 Flask-APScheduler 安排作业
- python - 如何计算子串中元音的数量?
- moodle - 从 mform 获取循环文本值