I'm implementing a popup in fragment Tab3Fragment and would like to keep the popup code in,
 public void showPopup(View anchorView){
 } 
and minimized elsewhere in the Tab3Fragment as much as possible to keep things tidy.
Currently showPopup looks something like this,
public void showPopup(View anchorView) {    
    Button btnDismiss, btnFirstRecord, btnPreviousRecord, btnNextRecord, btnLastRecord;
    LayoutInflater layoutInflater = (LayoutInflater)getActivity().getSystemServi (Context.LAYOUT_INFLATER_SERVICE);
    View popupView = layoutInflater.inflate(R.layout.popup_layout, null);
    final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);    
    TextView tv = (TextView)popupView.findViewById(R.id.tv);
    tv.setText("Blah, blah, blah");
    btnDismiss = (Button)popupView.findViewById(R.id.btnDismissxml);
    btnFirstRecord = (Button)popupView.findViewById(R.id.btnFirstRecordxml);
    btnPreviousRecord = (Button)popupView.findViewById(R.id.btnPreviousRecordxml);
    btnNextRecord = (Button)popupView.findViewById(R.id.btnNextRecordxml);
    btnLastRecord = (Button)popupView.findViewById(R.id.btnLastRecordxml);
    popupWindow.setFocusable(true);
    int location[] = new int[2];
    anchorView.getLocationOnScreen(location);
    popupWindow.showAtLocation(anchorView, Gravity.CENTER, 0, 0);
    }   
}
QUESTION: Is there any way to implement an onClick method case-switch statement inside of showPopup that would handle this? Perhaps something like,
@Override
public void onClick(View v) {       
    switch (v.getId()) {
    case R.id.btnFirstRecordxml:
        //firstRecord(v);
        break;
    case R.id.btnPreviousRecordxml:
        //previousRecord(v);
        break;
    case R.id.btnNextRecordxml:
        //nextRecord(v);
        break;
    case R.id.btnLastRecordxml:
        //lastRecord(v);
        break;
    case R.id.btnDismissxml:
        //closePopup(v);
        break;  
    }}
Other solutions such as putting onClick in popup_layout.xml thusly,
<Button
    android:id="@+id/btnFirstRecordxml"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/pszFirstRecordButton" 
    android:onClick="Tab3Fragment.firstRecord"/>
to handle button clicks would be highly appreciated. Thanks in advance...
Update, 23 Nov 2014. Here is a solution that does work for more than one button's code in showPopup(). I'll have several buttons in the popup....
private void showPopup(){
    LayoutInflater layoutInflater = (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
    View popupView = layoutInflater.inflate(R.layout.popup_layout, null);
    Button btnDismiss=(Button)popupView.findViewById(R.id.btnDismissxml);
    Button btnSaveRecord=(Button)popupView.findViewById(R.id.btnSaveRecordxml);
    final PopupWindow popupWindow=new PopupWindow(popupView,480,500,true);
    popupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 40);                                   
//first button
    btnSaveRecord.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            saveRecord();
        }
    });
 //second button
    btnDismiss.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            popupWindow.dismiss();
        }
    });
}
Any way to insert a case-switch structure to allow other button code in showPopup()? This would avoid creating separate onClickListener-onClicks for each button as shown above.
                        
Modify the xml like this, use
android:onClick="ClickEvent"this formet in all the buttonuse the click funcationality like this,
Or try this,
btn.setOnClickListener(btnaction);set like this listener for all buttons,