Android 如何根据其他微调器获取微调器值
我有两个旋转器项目。一个是我的日微调器,另一个是我的月微调器。 如果我从“月微调器”中选择“月二月”,如果我选择“日”为30,则不应执行此操作 另一个例子:4月有30天,所以如果有人选择月为4月,天为31日,那么这是不正确的。请告诉我如何获得一个微调器的值对应于另一个微调器的值 这是我的代码,其中有两个微调器:Android 如何根据其他微调器获取微调器值,android,android-spinner,Android,Android Spinner,我有两个旋转器项目。一个是我的日微调器,另一个是我的月微调器。 如果我从“月微调器”中选择“月二月”,如果我选择“日”为30,则不应执行此操作 另一个例子:4月有30天,所以如果有人选择月为4月,天为31日,那么这是不正确的。请告诉我如何获得一个微调器的值对应于另一个微调器的值 这是我的代码,其中有两个微调器: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(saved
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*************day spinner**********/
Spinner day = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> dayadapter = ArrayAdapter.createFromResource(
this, R.array.item_day, android.R.layout.simple_spinner_item);
dayadapter.setDropDownViewResource(R.layout.spinner_layout);
day.setAdapter(dayadapter);
/*****************month spinner**********************/
Spinner month = (Spinner) findViewById(R.id.spinner3);
ArrayAdapter<CharSequence> monthadapter = ArrayAdapter.createFromResource(
this, R.array.item_month, android.R.layout.simple_spinner_item);
monthadapter.setDropDownViewResource(R.layout.spinner_layout);
month.setAdapter(monthadapter);
}}
定义微调器的My Xml:
<Spinner
android:id="@+id/spinner2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/spinner3"
android:layout_alignTop="@+id/textView4"
android:layout_toLeftOf="@+id/textView3" />
<Spinner
android:id="@+id/spinner3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/spinner2"
android:layout_toLeftOf="@+id/textView3"
android:layout_toRightOf="@+id/textView5" />
我的微调器布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerTarget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12pt"
/>
我的日子数组
我的月数组
<resources>
<string name="month_picker">Select an item</string>
<string-array name="item_month">
<item>January</item>
<item>February</item>
<item>March</item>
<item>April</item>
<item>May</item>
<item>June</item>
<item>July</item>
<item>August</item>
<item>September</item>
<item>October</item>
<item>November</item>
<item>December</item>
</string-array>
</resources>
如果我选择任何月份,我希望在“日期”微调器中自动获取相应的天数
注意:我不希望在单击按钮后出现任何错误消息。提前谢谢。这真的很简单。在月微调器上放置一个OnItemSelectedListener,添加您自己的侦听器,该侦听器使用正确的值初始化日微调器+1。OP也可以不用庞大的day数组:-以编程方式初始化这样的数组会更容易…LatLonDemo类做什么?抱歉,我已经在这个类中实现了,所以你可以写你的类名而不是LatLonDemo。没关系。。你帮了我很多忙:你能解决这个问题吗。。我完全相信你,请检查答案,我试过了,但没有解决。
month.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// TODO Auto-generated method stub
List<String> s = Arrays.asList(getResources().getStringArray(R.array.item_day));
if (pos == 0 || pos == 2 || pos == 4 || pos == 8 || pos == 9
|| pos == 11) {
ArrayAdapter<String> dayadapter = new ArrayAdapter<String>(Latlondemo.this, android.R.layout.simple_spinner_item,s);
day.setAdapter(dayadapter);
} else if (pos == 1) {
s = s.subList(0,28);
ArrayAdapter<String> dayadapter = new ArrayAdapter<String>(Latlondemo.this, android.R.layout.simple_spinner_item,s);
day.setAdapter(dayadapter);
} else {
s = s.subList(0,30);
ArrayAdapter<String> dayadapter = new ArrayAdapter<String>(Latlondemo.this, android.R.layout.simple_spinner_item,s);
day.setAdapter(dayadapter);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
month.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// TODO Auto-generated method stub
List<String> s = Arrays.asList(getResources().getStringArray(R.array.item_day));
if (pos == 0 || pos == 2 || pos == 4 || pos == 8 || pos == 9
|| pos == 11) {
ArrayAdapter<String> dayadapter = new ArrayAdapter<String>(Latlondemo.this, android.R.layout.simple_spinner_item,s);
day.setAdapter(dayadapter);
} else if (pos == 1) {
s = s.subList(0,28);
ArrayAdapter<String> dayadapter = new ArrayAdapter<String>(Latlondemo.this, android.R.layout.simple_spinner_item,s);
day.setAdapter(dayadapter);
} else {
s = s.subList(0,30);
ArrayAdapter<String> dayadapter = new ArrayAdapter<String>(Latlondemo.this, android.R.layout.simple_spinner_item,s);
day.setAdapter(dayadapter);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});