在popupwindow中将监听事件传出到fragment中
private LightPopupWindow window;
window.setmOnClickListener_highelight(mOnClickListener_highelight);
mOnClickListener_highelight是:
private View.OnClickListener mOnClickListener_highelight = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.im_color_one:
mImageViewOne.setBackground(getResources().getDrawable(R.drawable.selected));
mImageViewTwo. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewThree.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFour. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFive. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewSix . setBackground(getResources().getDrawable(R.drawable.unselect));
break;
case R.id.im_color_two:
mImageViewOne.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewTwo. setBackground(getResources().getDrawable(R.drawable.selected));
mImageViewThree.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFour. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFive. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewSix . setBackground(getResources().getDrawable(R.drawable.unselect));
break;
case R.id.im_color_three:
mImageViewOne.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewTwo. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewThree.setBackground(getResources().getDrawable(R.drawable.selected));
mImageViewFour. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFive. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewSix . setBackground(getResources().getDrawable(R.drawable.unselect));
break;
case R.id.im_color_four:
mImageViewOne.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewTwo. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewThree.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFour. setBackground(getResources().getDrawable(R.drawable.selected));
mImageViewFive. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewSix . setBackground(getResources().getDrawable(R.drawable.unselect));
break;
case R.id.im_color_five:
mImageViewOne.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewTwo. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewThree.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFour. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFive. setBackground(getResources().getDrawable(R.drawable.selected));
mImageViewSix . setBackground(getResources().getDrawable(R.drawable.unselect));
break;
case R.id.im_color_six:
mImageViewOne.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewTwo. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewThree.setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFour. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewFive. setBackground(getResources().getDrawable(R.drawable.unselect));
mImageViewSix . setBackground(getResources().getDrawable(R.drawable.selected));
break;
case R.id.tv_cancel:
break;
}
}
};
setmOnClickListener_highelight 是:
public void setmOnClickListener_highelight(View.OnClickListener listener) {
mImageViewOne.setOnClickListener(listener);
mImageViewTwo.setOnClickListener(listener);
mImageViewThree.setOnClickListener(listener);
mImageViewFour.setOnClickListener(listener);
mImageViewFive.setOnClickListener(listener);
mImageViewSix.setOnClickListener(listener);
}
这样:
private ImageView mImageViewOne;
private ImageView mImageViewTwo;
private ImageView mImageViewThree;
private ImageView mImageViewFour;
private ImageView mImageViewFive;
private ImageView mImageViewSix;
就能在:LightPopupWindow 获取控件:
mImageViewOne=contentView.findViewById(R.id.im_color_one);
mImageViewTwo=contentView.findViewById(R.id.im_color_two);
mImageViewThree=contentView.findViewById(R.id.im_color_three);
mImageViewFour=contentView.findViewById(R.id.im_color_four);
mImageViewFive=contentView.findViewById(R.id.im_color_five);
mImageViewSix=contentView.findViewById(R.id.im_color_six);
LayoutInflater inflater = JJYHPDFSignActivity.this.getLayoutInflater();
View view = inflater.inflate(R.layout.popuplayout, null);
final PopupWindow mPopupWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, 150);
mPopupWindow.setOutsideTouchable(false);//在外点击不消失
mPopupWindow.showAtLocation(JJYHPDFSignActivity.this.getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);
Button button= (Button) view.findViewById(R.id.jjb_pdf_back);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
morePopWindow.showPopupWindow(tv_time, x, y);
mPopupWindow.dismiss();
}
});
layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="205dp"
android:gravity="center"
android:background="@color/counter_text_color"
android:orientation="vertical">
<Button
android:id="@+id/jjb_pdf_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/jjb_back">
</Button>
</LinearLayout>
String string = getString(android.R.string.cancel);