【问题标题】:Android: AsyncTask onPostExecute setText crashedAndroid:AsyncTask onPostExecute setText 崩溃
【发布时间】:2016-10-11 01:49:08
【问题描述】:

我对 Android 很陌生。请给我一些帮助。提前致谢! 以下代码是 second 活动的一部分

public class getInfoActivity extends AppCompatActivity{

    public TextView textViewCityName;
    public TextView textViewTemp;

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

        textViewCityName = (TextView) findViewById(R.id.textViewCityName);
        textViewTemp = (TextView) findViewById(R.id.textViewTemp);
    ...

然后是 AsyncTask onPostExecute 代码:

protected void onPostExecute(Double aDouble) {
    //textViewCityName.setText("2172729");   //crashed the APP
    Toast.makeText(getInfoActivity.this, "2172729",
            Toast.LENGTH_SHORT).show();    //working
}

错误信息

FATAL EXCEPTION: main
                  java.lang.NullPointerException
  1. 为什么我更换TextView后APP老是闪退?
  2. 为什么 Toast 有效?

非常感谢!

【问题讨论】:

  • 您确定R.layout.activity_main 是您第二个Activity 的正确布局吗?
  • 你能仔细检查一下R.id.textViewCityName吗?您没有发布太多关于 logcat 的信息,但我假设 textViewCityName 为空
  • 谢谢@Onik。它确实解决了所有问题。抱歉,我真的是 Android 新手。
  • 你能分享你的activity_main xml吗

标签: android android-asynctask textview


【解决方案1】:

好的,使用这个textViewCityName.get().setText("2172729");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多