需要一个可以手动输入 也可以选择的下拉框,我的思路是这样:用了一个Button,当点击Button后,用代码显示spinner选项,
然后在spinner的onItemSelectedListener中将选中的值赋给EditText。 结果onItemSelectedListener不起作用了,也不报错。主要代码如下:
//spinner的代码
sp_usim_list.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long l) {
//这里随便写什么都没反应
et_usim_no.setText("mm"+usimInfoList.get(position).getUsimNo());
} public void onNothingSelected(AdapterView<?> arg0) {
}
});
//按钮的代码
b_sys_usim.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
sp_usim_list.performClick();//显示Spinner的选项
}
});
然后在spinner的onItemSelectedListener中将选中的值赋给EditText。 结果onItemSelectedListener不起作用了,也不报错。主要代码如下:
//spinner的代码
sp_usim_list.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long l) {
//这里随便写什么都没反应
et_usim_no.setText("mm"+usimInfoList.get(position).getUsimNo());
} public void onNothingSelected(AdapterView<?> arg0) {
}
});
//按钮的代码
b_sys_usim.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
sp_usim_list.performClick();//显示Spinner的选项
}
});
解决方案 »
- 坐等大神讲解android opengl 绘图透明度的问题。
- android 关于在不同的手机屏幕上取点的问题
- Android源码如何导入Eclipse问题
- android framebuffer 截屏操作问题
- 真机测试相关问题
- 求教:Activity为什么会自动调用finish()方法
- 急!!急!!android bootloader的启动画面
- 如何在应用程序后台运行时监听系统广播
- 关于 startActivity() 方法调用问题
- 黑马程序员Android28期视频免费下载地址,视频完整
- andorid如何使用代码打开资源管理器选择文件?
- TabHost如何让tabWidget里的页签在屏幕左边垂直显示
spinner有个事件是selectItemListener,你可以通过这个
public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long l)
根据选定的postion得到item的值,我记得有个方法是这样的哈
string temp=sp_usim_list.getSelectedItem().toString();
或者是
string temp=sp_usim_list.getItemAtPosition(position).toString();
就可以得到选中项的值了,再赋值给EditText就简单了,我就不废话了
希望可以帮到你
查看api可知:spinner.performClick()方法是调用spinner的onclickListenner事件,而并非是itemSelectedListener,当然就不起作用了boolean android.widget.Spinner.performClick()
Call this view's OnClickListener, if it is defined.
Overrides: performClick() in View
Returns:
True there was an assigned OnClickListener that was called, false otherwise is returned.
遇到这种情况,你应该打断点跟踪调试哈,缩小范围。
还有如果可以用简单的方法去实现,为什么要把代码写那么复杂呢。直接调用不就完了么,直到现在也没搞懂你为啥子要用个button,还要弄个onclick出来。
b_sys_usim.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final CharSequence[] items = {"1","2","3"};
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
et_usim_no.setText(items[item]);
dialog.cancel();
}
});
builder.create().show();
}
});