Android popupwindow不使用setContentView

Android popupwindow不使用setContentView,android,android-layout,Android,Android Layout,解决方案 多亏了codeMagic回答中的一条线索,问题的解决方案是使用和方法设置宽度和高度 问题 我试图用下面的代码在Android中显示一个弹出窗口,但它似乎不起作用 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

解决方案 多亏了codeMagic回答中的一条线索,问题的解决方案是使用和方法设置宽度和高度

问题 我试图用下面的代码在Android中显示一个弹出窗口,但它似乎不起作用

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        PopupWindow test = new PopupWindow();
        test.setContentView(inflater.inflate(R.layout.test, null, false));
        test.showAtLocation(findViewById(R.id.main_container), Gravity.CENTER, 0, 0);
    }
    ....
}
你能告诉我哪里出了问题吗

编辑: 我希望弹出窗口显示的内容包含我在R.id.test中的布局,但是当我执行上面的代码时,什么也没有发生。没有错误或其他什么

编辑2:
为原始代码添加了一些上下文

我决定使用一个
PopupWindow
来完成我现在的工作。我的是一个
列表视图
,所以它可能有点不同,但我必须改变一些东西才能看到它。这里有几件事我建议大家看一下,因为我看不出你的代码有任何明显的错误

  • 首先将您的
    视图充气
    ,确保它不会返回
    null
  • 使用不同的构造函数(我使用了
    newpopupWindow(holder.textNotes,500500,true);
    -将
    holder.textNotes
    替换为充气的
    视图
    和适合您正在使用的屏幕的尺寸。 注意我使用了这个构造函数,这样我就可以使它对
    EditText
  • 3.我给我的
    视图
    加了背景色,以便确保它显示出来

    在创建可以找到的
    PopupWindow
    实例时,可以使用几种不同的构造函数。我在上面使用的构造函数允许您设置窗口的
    height
    width
    。这样就不需要调用
    setHeight()
    setWidth()
    正如vidhu在评论中指出的那样。

    您应该调用
    为了显示你的弹出窗口,我编辑了我的问题。我还必须充气才能通过视图对象。R.layout.test只是一个整数。对不起,你是对的。我想它有一个方法,像
    Activity
    那样需要一个
    resId
    。我会再看一看。你能告诉我你是如何调用这个代码的,或者你是如何调试到mak的吗e确定它被正确调用了吗?嗨,我添加了一些编辑。我基本上是在我的主要活动的onCreate事件中调用此代码。是的,我调试了此代码,它执行了代码。我创建或调用弹出窗口的方式肯定有问题,但我似乎不明白为什么
    R.id.main\u容器
    a
     查看
    内部
    活动\u main
    ?如果是这样,我会在
    setContentView()
    之后的下一行放置一个断点,并确保
    充气机.充气(R.layout.test
    不返回
    null
    我用我遇到的一些东西更新了我的答案,以防它们能帮助你找到你的问题只有当它已经显示并且你想根据你的链接更新内容时才需要它,它说“更新弹出窗口的位置和尺寸”但问题是,它并没有首先显示在这里,同样这个脚本不起作用?
    PopupWindowTest=new PopupWindow();test.setContentView(充气器.充气(R.layout.test,null,false));test.showAtLocation(findViewById(R.id.main_容器),Gravity.CENTER,0,0);test.udpate(0,0300100);
    @cooperok我在问题中添加了解决方案。update()方法之所以有效,是因为它还设置了弹出窗口的宽度和高度。因此,解决方案是通过调用setWith()和setHeight()方法来设置窗口的宽度和高度。