Android 是否根据微调器的选项更改活动内容?
我对安卓系统还很陌生。我想根据微调器中选定的选项更改活动内容。例如,我在微调器“Option2”和“Option2”中有两个选项,还有两个日期选择器。我希望我的活动以这种方式工作,当我选择选项1时,我应该看到一个日期选择器,当我选择选项2时,我动态地看到两个日期选择器 这是我的微调器代码Android 是否根据微调器的选项更改活动内容?,android,android-activity,spinner,Android,Android Activity,Spinner,我对安卓系统还很陌生。我想根据微调器中选定的选项更改活动内容。例如,我在微调器“Option2”和“Option2”中有两个选项,还有两个日期选择器。我希望我的活动以这种方式工作,当我选择选项1时,我应该看到一个日期选择器,当我选择选项2时,我动态地看到两个日期选择器 这是我的微调器代码 Spinner spinner= (Spinner) findViewById(R.id.spinner); final List<String> List=new ArrayList<Str
Spinner spinner= (Spinner) findViewById(R.id.spinner);
final List<String> List=new ArrayList<String>();
List.add("Option1");
List.add("Option2");
ArrayAdapter<String> Adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,List);
Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
triptype.setAdapter(Adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
// TODO Auto-generated method stub
int pos1=position;
selectedOption=spinner.getSelectedItem().toString();
prefs = getSharedPreferences(prefName, MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
//---save the values in the EditText view to preferences---
editor.putInt("index", pos1);
editor.putString("value", selectedoption);
//---saves the values---
editor.commit();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
最终列表=新的ArrayList();
列表。添加(“选项1”);
列表。添加(“选项2”);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,list);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
triptype.setAdapter(适配器);
spinner.setOnItemSelectedListener(新的OnItemSelectedListener()
{
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
内部位置,长id){
//TODO自动生成的方法存根
int pos1=位置;
selectedOption=spinner.getSelectedItem().toString();
prefs=getSharedReferences(prefName,MODE_PRIVATE);
SharedReferences.Editor=prefs.edit();
//---将EditText视图中的值保存到首选项---
编辑:putInt(“索引”,pos1);
editor.putString(“value”,selectedoption);
//---保存值---
commit();
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
在选定方法的微调器上动态添加时间选择器
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
// TODO Auto-generated method stub
int pos1=position;
for(int i=0;i<mainlayout.getChildCount();i++)
{
View v=mainlayout.getChildAt(i)
if(v instanceof TimePicker)
mainlayout.removeView(v);
}
if(pos==0)
{
TimePicker t=new TimePicker (context);
mainlayout.addView(t);
}
else
{
TimePicker t1=new TimePicker (context);
mainlayout.addView(t1);
TimePicker t2=new TimePicker (context);
mainlayout.addView(t2);
}
}
@覆盖
已选择公共视图(AdapterView arg0、视图arg1、,
内部位置,长id){
//TODO自动生成的方法存根
int pos1=位置;
对于(int i=0;i如果您不想创建datepicker运行时,那么您应该在xml文件中添加两个datepicker。请记住,保持xml上datepicker的位置相同。并将两个可见性都设置为“GONE”
类文件:
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
// TODO Auto-generated method stub
//set visibility of datepicker
if(position==0)
{
set "visible" to datepicker1,
set "gone" to datepicker2.
}
if(position==1)
{
set "gone" to datepicker1,
set "visible" to datepicker2.
}
}
}
spinner.setOnItemSelectedListener(新的OnItemSelectedListener()
{
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
内部位置,长id){
//TODO自动生成的方法存根
//设置日期选择器的可见性
如果(位置==0)
{
将“可见”设置为datepicker1,
将“gone”设置为datepicker2。
}
如果(位置==1)
{
将“gone”设置为datepicker1,
将“可见”设置为datepicker2。
}
}
}