spinner选择图像的简单应用

1代码如下:

public class MainActivity extends Activity implements OnClickListener {
	
	 //add for device
    private ImageButton addDeviceBt;
    private TextView phoneNumberLabel;
    private TextView mDeviceNameLabel;
	private EditText simNumberEditText;//phoneNumber input
	private EditText mDeviceditText;//device_input
	private Spinner spinner=null;
	private ImageView imageView=null;
	private int pictureId=0;
	
	private Button button;
	
	// 所有资源图片的数组
    private int[] drawableIds={R.drawable.face0,R.drawable.face1,
    		R.drawable.face2,R.drawable.face3
    		,R.drawable.face4,R.drawable.face5,R.drawable.face6,
    		R.drawable.face7,R.drawable.face8,R.drawable.face9};

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button =(Button) findViewById(R.id.button1);
		button.setOnClickListener(this);
		
		Toast.makeText(MyApplication.getContext(), R.string.app_name, Toast.LENGTH_SHORT).show();
	}
	
	private void initDialogView(View view)
	{
		spinner = (Spinner) view.findViewById(R.id.Spinner01);
		imageView = (ImageView) view.findViewById(R.id.faceIcon);
		phoneNumberLabel = (TextView) view.findViewById(R.id.phone_number_label);
		phoneNumberLabel.setText(getResources().getString(R.string.phone_num));
		mDeviceNameLabel = (TextView) view.findViewById(R.id.device_name_label);
		simNumberEditText = (EditText) view.findViewById(R.id.simNumber);
		mDeviceditText=(EditText) view.findViewById(R.id.device_name);
		mDeviceNameLabel.setText(getResources().getString(R.string.device_name));
		
		
		spinner.setAdapter(adapter);
		spinner.setPrompt(getString(R.string.add_device));
		spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				imageView.setImageResource(drawableIds[arg2]);
			    pictureId=arg2;				
			}
			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub				
			}
		});
	}	

	protected void showAddDevice() {
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		View view = View.inflate(this,
				R.layout.device_add_dialogue, null);
		builder.setView(view);
		initDialogView(view);
		builder.setTitle(R.string.add_device);
		builder.setCancelable(false);
		builder.setNegativeButton(getResources().getString(R.string.cancel),
				new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {

					}
				});

		builder.setPositiveButton(getResources().getString(R.string.ok),
				new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {

					}
				});
		Dialog dialog = builder.create();
		dialog.show();
	}
	
  	private BaseAdapter adapter = new BaseAdapter() {
  		
  		@Override
  		public View getView(int position, View convertView, ViewGroup parent) {
  			 LinearLayout ll = new LinearLayout(getApplication());
  	            ll.setOrientation(LinearLayout.HORIZONTAL);	    
  	            ImageView iv = new ImageView(getApplication());
  	            iv.setMinimumHeight(80);//set height
  	            iv.setImageResource(drawableIds[position]);
  	            ll.addView(iv);
  			return ll;
  		}
  		
  		@Override
  		public long getItemId(int position) {
  			return position;
  		}
  		
  		@Override
  		public Object getItem(int position) {
  			return drawableIds[position];
  		}
  		
  		@Override
  		public int getCount() {
  			return drawableIds.length;
  		}
  	};

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.button1:
			showAddDevice();
			break;

		default:
			break;
		}
		
	}
}

2.运行结果


posted @ 2015-08-06 10:19  稻香鱼  阅读(96)  评论(0)    收藏  举报