我想做这样一个东西
有两个spinner
spinner1和spinner2
如何在spinner1选择数据后,改变spinner2里面的数据。
有两个spinner
spinner1和spinner2
如何在spinner1选择数据后,改变spinner2里面的数据。
解决方案 »
- 新手请教:代码哪里出错了?
- 如何将应用安装到sdcard2上
- android4.0(或2.3) 设置中设置项的数据是保存在什么地方?
- 解析新浪微博Json字符串显示IllegalStateException
- 小弟新手请大侠指点下android 单个模块编译时出现问题
- ArrayList 添加HashMap问题。
- 求教android中创建的文件放在了哪里?
- sqlite "+"
- 安卓 mtk或者展讯芯片手机 如何通过修改驱动程序 使电脑端检测到的数据发生变化
- 用NFC做巡检功能的相关问题
- android Gallery getIntent().getData
- 怎么获得Canvas中的一个像素点的颜色值
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
spinner2.setSelection(arg2);
} public void onNothingSelected(AdapterView<?> arg0) {
}
把我写的代码上上,有句有问题,请各位达人帮忙看看。
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.
}
}红色的那句有问题,不知道为什么?
The constructor ArrayAdapter<CharSequence>(business.MyOnItemSelectedListener, int, CharSequence[]) is undefined
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重新设置数据。。
前面刚做过代码是抠出来的自己改下里面的东西就行