Android开发----spinner动态联动

来源:互联网 发布:网络验证系统破解版 编辑:程序博客网 时间:2024/06/05 00:56

今天遇到一个问题:一个Activity(A)跳转到另一个Activity(B),我的想法是从A中ListView选中的项中提取出想要的字符串,然后传递到B中,当B中接收到传递过来的信息后,对B中的一个Spinner做相应的改变

A传数据给B很简单,在A中用Intent去putExtra就行, 然后到B中的onCreate()中用getExtras就行了,可是怎么才能让Spinner也跟着改变呢?

原来spinner有一个setSelection(),将spinner设为全局变量后用spinner.setSelection(GestureConstant.FILE_GESTURE, false);就可以了。

贴一部分代码,不完整。

A Activity

Intent fileIntent = new Intent(FileManager.this,CreateGestureActivity.class);fileIntent.putExtra("file", "file");startActivity(fileIntent);

B Activity

@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.create_gesture);spinner = (Spinner) findViewById(R.id.spinner);// 设置spinner的adapterArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.add_gesture_prompt,android.R.layout.simple_spinner_item);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(adapter);spinner.setPrompt("创建手势类型");// 设置spinner的监听器spinner.setOnItemSelectedListener(new OnItemSelectedListener(){@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id){Toast.makeText(CreateGestureActivity.this,parent.getItemAtPosition(position).toString(),Toast.LENGTH_SHORT).show();switch (position){// 文件case GestureConstant.FILE_GESTURE:textView.setText("路径:");editText.setText("mnt/sdcard/");button_choose.setText("添加");current_gesture = GestureConstant.FILE_GESTURE;overlay.clear(true);button_ok.setEnabled(false);// button.setVisibility(View.VISIBLE);break;default:break;}}@Overridepublic void onNothingSelected(AdapterView<?> parent){}});getIntent2SetSpinner();}/** * 获取传递过来的Intent信息 */private void getIntent2SetSpinner(){Intent i = getIntent();Bundle b = i.getExtras();if("file".equals(b.getString("file"))){Log.i(TAG, "------------------------------------------------------>OK?");spinner.setSelection(GestureConstant.FILE_GESTURE, false);editText.setText("mnt/");}}


原创粉丝点击