问题
I have a RadioGroup in a popup. When i put setoncheckedchangelistener it causes an error. here's my code. The error says that it is not applicable to the arguments (new Compound Button.OnCheckedChangeListener.. i don't understand can somebody pls help me?
private void showPopupSeat(final Activity context)
{
int popupWidth = 500;
int popupHeight = 650;
// Inflate the popup_layout.xml
LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.popupseat);
LayoutInflater layoutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.seat_dimension, viewGroup);
RadioGroup rg = (RadioGroup) layout.findViewById(R.id.rg1);
final RadioButton rb1 = (RadioButton) layout.findViewById(R.id.option1);
final RadioButton rb2 = (RadioButton) layout.findViewById(R.id.option2);
final RadioButton rb3 = (RadioButton) layout.findViewById(R.id.option3);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
}
});
final PopupWindow popupseat = new PopupWindow(context);
popupseat.setContentView(layout);
popupseat.setWidth(popupWidth);
popupseat.setHeight(popupHeight);
popupseat.setFocusable(true);
// Some offset to align the popup a bit to the right, and a bit down, relative to button's position.
int OFFSET_X = 30;
int OFFSET_Y = 260;
// Clear the default translucent background
popupseat.setBackgroundDrawable(new BitmapDrawable());
// Displaying the popup at the specified location, + offsets.
popupseat.showAtLocation(layout, Gravity.CENTER, 0, 0);
}
i dont know what is wrong.. pls help.
回答1:
Instead importing
import android.widget.CompoundButton.OnCheckedChangeListener;
Import
import android.widget.RadioGroup.OnCheckedChangeListener;
same issue discussed here.
来源:https://stackoverflow.com/questions/14973909/why-setoncheckedchangelistener-not-working-in-a-popup-that-uses-layoutinflater