如何解决在活动中访问Spinner而不在布局中定义
|Spinner spinner = new Spinner(this);
String option[]={\"By Date\",\"By Transaction ID\",\"By Customer Phone\"};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,option);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item );
spinner.setAdapter(spinnerArrayAdapter);
spinner.performClick();
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentview,View v,int position,long id)
{
Log.d(\"in select\",\"yes\");
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
Toast.makeText(MainMenu.this,\"no\",Toast.LENGTH_LONG).show();
Log.d(\"In No select\",\"No\");
}
});
这一切都做得非常好,在先前的视图上会生成新的Spinner视图弹出视图,并且先前的视图仍显示但暗淡,所有焦点都集中在此当前Spinner上
但是问题是当我在此微调器中选择任何项目时,应调用onItemSelected(),但不调用它。
但是如果我写
setContentView(spinner);
然后调用onItemSelected(),但现在不显示以前的视图。
所以我如何在没有此行setContentView(spinner);
的情况下访问微调框
我想获得微调器中所选项目的位置
请提供我的代码或示例
我在等你的好答复
解决方法
如果您不想使用
setContentView(spinner);
,则必须将微调器绑定到布局。在代码末尾使用类似这样的内容
LinearLayout line = (LinearLayout) findViewById(R.id.line);
line.addView(spinner);
而您的布局是
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\"
android:layout_height=\"fill_parent\"
android:id=\"@+id/line\">
</LinearLayout>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。