gpt4 book ai didi

android - Toast.makeText Activity 上下文错误?

转载 作者:行者123 更新时间:2023-11-29 15:24:22 24 4
gpt4 key购买 nike

我是 Android、Eclipse 和部分 Java 的新手(十年前我读过一本 Java 书但从未使用过它。)我正在学习本教程:http://ofps.oreilly.com/titles/9781449390501/Android_User_Interface.html

我有这个代码:

public class Status extends Activity implements OnClickListener, TextWatcher {
// ...
class PostToTwitter extends AsyncTask<String, Integer, String> {
// ...
protected void onPostExecute(String result) {
Toast.makeText(Status.this, result, Toast.LENGTH_LONG).show();
}
}
}

我在 Toast.makeText 行旁边得到这些错误:

  • The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (AsyncTask.Status, String, int)
  • No enclosing instance of the type AsyncTask.Status is accessible in scope
  1. 我不确定为什么会收到错误消息?
  2. 为什么在传递 Status Activity 上下文时提到 AsyncTask?

我想我要扇自己耳光并说 Doh!后来,但我现在对它视而不见:)

最佳答案

你的问题是Status是公众enum of AsyncTask .所以 java 不会将您的 Activity 作为上下文。尝试在您的 AsyncTask 中保存您的上下文实例。

在这里试试这段代码:

public class Status extends Activity implements OnClickListener, TextWatcher {
private Context context;
public void onCreate(...) {
context=this;
//...
}

// ...
class PostToTwitter extends AsyncTask<String, Integer, String> {
// ...
protected void onPostExecute(String result) {
Toast.makeText(context, result, Toast.LENGTH_LONG).show();
}
}
}

关于android - Toast.makeText Activity 上下文错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14500653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com