问题描述
|
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>