android中spinner用法 我想做这样一个东西有两个spinnerspinner1和spinner2如何在spinner1选择数据后,改变spinner2里面的数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对哇,监听事件,然后改变spinner的值。 你定义一个二维数组 根据spinner1的数组位置 放spinner2 public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { spinner2.setSelection(arg2); } public void onNothingSelected(AdapterView<?> arg0) { } 可能是我没说清楚,我是想选了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 {@Overridepublic 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是第二个spinnerif (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重新设置数据。。前面刚做过代码是抠出来的自己改下里面的东西就行 对哇,监听事件,然后改变spinner的值。 问题已经解决,上面那句红色的话,是因为参数不正确,第一个参数是context,在这里写this是不对的,改为view.getcontext()就好了 界面设计问题---求解决 vlc android编译成功,但 播放不了rtsp 程序设置系统默认输入法问题 如何做到 图片上文下字? 编译模拟器 如何学习Android开发? 如何关闭安卓系统的所有log?? 求解,android中listview的items同时添加edittext和checkbox的问题 关于图片覆盖 swipeListview 下拉加载更多怎么实现? 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重新设置数据。。
前面刚做过代码是抠出来的自己改下里面的东西就行