启动ColorSelectActivity
//生成一个Intent指向ColorSelectActivity Intent intent = new Intent(this, ColorSelectActivity.class); //在Intent中放入上一次的颜色数据 intent.putExtra(ColorSelectActivity.LAST_COLOR,lastColor); //启动ColorSelectActivity startActivityForResult(intent, 0);
接收返回的数据
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 0) { if (resultCode == RESULT_OK) { //通过ColorSelectActivity.RESULT这个键来取值 lastColor=data.getIntExtra(ColorSelectActivity.RESULT,0x000000); view.setBackgroundColor(lastColor); } } super.onActivityResult(requestCode, resultCode, data); }
注意在使用ColorSelectActivity时记得在自己项目的AndroidManifest文件中加入:
<activity android:name="zhou.colorpalette.ColorSelectActivity"/>
ColorSelectDialogFragment colorSelectDialogFragment=new ColorSelectDialogFragment(); //设置颜色选择完成后的回调事件 colorSelectDialogFragment.setOnColorSelectListener(new ColorSelectDialogFragment.OnColorSelectListener() { @Override public void onSelectFinish(int color) { lastColor=color; MainActivity.this.view.setBackgroundColor(lastColor); } }); //设置上次选择的颜色(可选) colorSelectDialogFragment.setLastColor(lastColor); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); //需要打开时调用show方法 colorSelectDialogFragment.show(ft, "colorSelectDialogFragment");
ColorSelectDialog colorSelectDialog = new ColorSelectDialog(this); //绑定颜色选择完成后的回调事件 colorSelectDialog.setOnColorSelectListener(new ColorSelectDialog.OnColorSelectListener() { @Override public void onSelectFinish(int color) { // ... } }); //设置上次的颜色(可选) colorSelectDialog.setLastColor(lastColor); //要显示Dialog时别忘了调用show方法 colorSelectDialog.show();
by zzhoujay