android中spinner用法

jingjing1221 2011-07-18 05:50:18
我想做这样一个东西
有两个spinner
spinner1和spinner2
如何在spinner1选择数据后,改变spinner2里面的数据。
...全文
675 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingjing1221 2011-07-21
  • 打赏
  • 举报
回复
问题已经解决,上面那句红色的话,是因为参数不正确,第一个参数是context,在这里写this是不对的,改为view.getcontext()就好了
ch_984326013 2011-07-20
  • 打赏
  • 举报
回复
你这个就相当于列表框级联效果!用适配器
wyx100 2011-07-20
  • 打赏
  • 举报
回复
对哇,监听事件,然后改变spinner的值。
raphael55 2011-07-20
  • 打赏
  • 举报
回复

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if ((id < 0) || (id >= Config.DEV_TYPES.length))
return;

ArrayAdapter aa = (ArrayAdapter)spDevMode.getAdapter();
aa.clear();
if (null != Config.DEV_TYPES[id].models) {
for (int i=0; i<Config.DEV_TYPES[id].models.length; i++) {
aa.add(Config.DEV_TYPES[id].models[i]);
}
}
}
public void onNothingSelected(AdapterView<?> parent) {
ArrayAdapter aa = (ArrayAdapter)spDevMode.getAdapter();
aa.clear();
}


第一个spineer 设置onItemSelected为上面的代码,其中spDevMode是第二个spinner
if (null != Config.DEV_TYPES[id].models) {
for (int i=0; i<Config.DEV_TYPES[id].models.length; i++) {
aa.add(Config.DEV_TYPES[id].models[i]);
}
}
是给第二个spinner重新设置数据。。
前面刚做过。。。代码是抠出来的。。。自己改下里面的东西就行
jingjing1221 2011-07-19
  • 打赏
  • 举报
回复
把鼠标点在那个上面提示信息如下
The constructor ArrayAdapter<CharSequence>(business.MyOnItemSelectedListener, int, CharSequence[]) is undefined
jingjing1221 2011-07-19
  • 打赏
  • 举报
回复
可能是我没说清楚,我是想选了spinner1的其中一个选项后,spinner2下拉选项的里面的数据重新变换一下
把我写的代码上上,有句有问题,请各位达人帮忙看看。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.business);
//产品名称
Cursor c1 = database.query(ThingInfo.TABLE_NAME, new String[] {ThingInfo.TSC},
null, null, null, null, null);
c1.moveToFirst();
CharSequence[] list1 = new CharSequence[c1.getCount()];
for (int j = 0; j < list1.length; j++) {
list1[j] = c1.getString(0);
c1.moveToNext();
}
c1.close();

final Spinner mSpinner2=(Spinner)findViewById(R.id.spinner_name);
//将可选内容与ArrayAdapter连接起来
ArrayAdapter<CharSequence> adapter1 = new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,list1);
//设置下拉列表的风格
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将adapter 添加到spinner中
mSpinner2.setAdapter(adapter1);
mSpinner2.setVisibility(View.VISIBLE);
mSpinner2.setPrompt("请选择事物名称");
mSpinner2.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
public class MyOnItemSelectedListener implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
final Spinner mSpinner2=(Spinner)findViewById(R.id.spinner_name);
String name=mSpinner2.getSelectedItem().toString();
Cursor c2 = database.query(ThingInfo.TABLE_NAME, new String[] {ThingInfo.TSL}, "TSC='" +name+ "'", null, null, null, null);
c2.moveToFirst();
CharSequence[] list2 = new CharSequence[c2.getCount()];
for (int k = 0; k < list2.length; k++) {
list2[k] = c2.getString(0);
c2.moveToNext();
}
c2.close();
final Spinner mSpinner3=(Spinner)findViewById(R.id.spinner_aname);
//将可选内容与ArrayAdapter连接起来
ArrayAdapter<CharSequence> adapter2 = new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,list2); //设置下拉列表的风格 adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将adapter 添加到spinner中
mSpinner3.setAdapter(adapter2);
mSpinner3.setVisibility(View.VISIBLE);
mSpinner3.setPrompt("请选择事物详细名称");

}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}

}

红色的那句有问题,不知道为什么?
jingjing1221 2011-07-19
  • 打赏
  • 举报
回复
没人知道吗?自己顶一下,牛人快来说说吧
b87936260 2011-07-19
  • 打赏
  • 举报
回复

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
spinner2.setSelection(arg2);
}

public void onNothingSelected(AdapterView<?> arg0) {
}
ltbzqf 2011-07-19
  • 打赏
  • 举报
回复
你定义一个二维数组 根据spinner1的数组位置 放spinner2
小笨熊 2011-07-19
  • 打赏
  • 举报
回复
对哇,监听事件,然后改变spinner的值。
jeky_zhang2013 2011-07-19
  • 打赏
  • 举报
回复
用监听事情做,看下事件接口

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧