0

我有一个活动和一个实现弹出窗口的类。使用教程,我实现了弹出窗口。我从活动中调用方法 init() 和 popupInit() ,其他一切都在类中。我的问题是弹出窗口没有显示。

这是弹出类:

public class PopupAudio implements OnClickListener {

    LinearLayout layoutOfPopup;
    PopupWindow popupMessage;
    Button popRecord, popStopRecord, popPlay, popStopPlaying;
    TextView popupText;

    public void popupInit() {
        popRecord.setOnClickListener(this);
        popStopRecord.setOnClickListener(this);
        popPlay.setOnClickListener(this);
        popStopPlaying.setOnClickListener(this);
        popupMessage = new PopupWindow(layoutOfPopup, LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
        popupMessage.setContentView(layoutOfPopup);
    }

    public void init(Context context) {
        popRecord = new Button(context);
        popRecord.setId(112);
        popStopRecord = new Button(context);
        popPlay = new Button(context);
        popStopPlaying = new Button(context);
        layoutOfPopup = new LinearLayout(context);
        popRecord.setText("REC");
        layoutOfPopup.setOrientation(1);
        layoutOfPopup.addView(popRecord);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()) {
        case 112:

            break;
        }
    }

}

这是一个学校项目,所以它非常重要。请帮助我,我将不胜感激:)

4

1 回答 1

0

您需要调用一个方法来实际显示某个事件操作或需要时的弹出窗口。以下是文档中的不同方法

这是一个使用showAtLocation().

showAsDropDown(View anchor)根据您的需要,可能是最简单的。只需将它传递给view您希望它附加到的位置。不过,另外两个在显示位置上为您提供了更大的灵活性。

于 2014-04-14T19:16:37.387 回答