在onPostExecute中弹出

时间:2014-03-09 19:22:26

标签: android popupmenu

由于AsyncTask的onPostExecute在UIthread上运行,因此应该可以在其中添加PopupMenu。但是当我这样做时,我收到一个编译器错误,我不知道如何修复: The constructor PopupMenu(My.....dothedirectionTHREAD, View) is undefined

代码行是:

PopupMenu popupMenu = new PopupMenu(this, findViewById(R.id.reset));

我错过了什么?

4 个答案:

答案 0 :(得分:0)

this指的是AsyncTask但你需要Activity上下文。请尝试以下或您的活动类。

PopupMenu popupMenu = new PopupMenu(MainActivity.this, findViewById(R.id.reset));

答案 1 :(得分:0)

在这一行

PopupMenu popupMenu = new PopupMenu(this, findViewById(R.id.reset));

this指针指的是AsyncTask类,它不能作为Context使用。

假设您的AsyncTask是Activity中的内部类,您应该使用以下内容:

PopupMenu popupMenu = new PopupMenu(MyActivity.this, findViewById(R.id.reset));

答案 2 :(得分:0)

而不是this,请尝试getApplicationContextgetBaseContext

此示例中的

this也未引用context

答案 3 :(得分:0)

我猜,你必须使用你的appcontext而不是“this”,它会在你的情况下提供线程,而不是上下文。

PopupMenu popupMenu = new PopupMenu(context, findViewById(R.id.reset));

https://developer.android.com/reference/android/widget/PopupMenu.html