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

今天遇到一个问题:一个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

@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.create_gesture);

		spinner = (Spinner) findViewById(R.id.spinner);
		
		// 设置spinner的adapter
		ArrayAdapter<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()
		{

			@Override
			public 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;
				}
			}

			@Override
			public 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/");

		}
	}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值