Android 显示另一个类的弹出窗口

Android 显示另一个类的弹出窗口,android,class,android-activity,popup,android-popupwindow,Android,Class,Android Activity,Popup,Android Popupwindow,我有一个活动和一个实现弹出窗口的类。我使用教程实现了弹出窗口。我从活动中调用方法init和popupInit,其他的都在类中。我的问题是弹出窗口不显示 下面是弹出类: public class PopupAudio implements OnClickListener { LinearLayout layoutOfPopup; PopupWindow popupMessage; Button popRecord, popStopRecord, popPlay, popS

我有一个活动和一个实现弹出窗口的类。我使用教程实现了弹出窗口。我从活动中调用方法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;
        }
    }

}

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

您需要调用一个方法来实际显示某个事件操作上的弹出窗口,或者在您需要时显示

使用showAtLocation的方法


根据您的需要,showAsDropDownView锚点可能是最简单的锚点。只需将要附加的视图传递给它即可。不过,其他两个选项在显示位置上给了您更多的灵活性。

您是否打开了popup.show som的窗口?刚才我正要说,您可能错过了.show@codeMagic让itI使用this.findViewByIdR.layout.activity\u note从活动中获取视图,我使用popupMessage.showAsDropDownanchor;但它会让我产生空指针,除非你需要在某个地方初始化你的popupwindow。您可以在其他类中执行此操作,但不返回视图,因此它不会在任何地方初始化。在下面的教程中,他们在活动类中完成所有操作。