gpt4 book ai didi

java - Activity 加载时第一次出现 NullPointerException 但第二次工作正常

转载 作者:行者123 更新时间:2023-12-01 06:01:11 25 4
gpt4 key购买 nike

我要开始EditCardActivity来自MainActivity .

应用程序第一次崩溃,Android 系统显示“再次打开应用程序”的警报。

当我重新打开应用程序时,它会按预期工作。

我在这个网站上看到了很多答案,我根据这些答案做了以下操作,但没有成功。

  • 我已调用 setContentView()里面onCreate()调用findViewByID()之前的方法.

  • 我已验证我传入的 ID findViewByID()拼写正确。

  • 我还尝试制作 EditText也是一个类成员并在 onCreate() 中初始化它方法。

  • 我也尝试过使用 onStart() , onPostCreate()方法也是如此。

  • 当我尝试调用 View 时,我感觉 View 尚未加载,因此 findViewByID()返回空值。因此我尝试使用 Thread.sleep(1000)给它 1 秒加载时间,但仍然是同样的问题。

这是有问题的代码部分。

// MainActivity.java
public void editCard(View v) {
Intent i = new Intent(this, EditCardActivity.class);
startActivity(i);
}
<!--activity_edit_card.xml-->
...
<EditText
android:id="@+id/add_card_category_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin"
android:ems="10"
android:hint="@string/add_card_category_et_hint"
android:inputType="text"
android:textSize="@dimen/font_size" />
...
// EditCardActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_card);

showContents();
}

private void showContents() {
EditText editCardCategoryET = findViewById(R.id.add_card_category_et);
editCardCategoryET.setText(currentCard.getCategory()); // This line is throwing NullPointerException
}

错误

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

编辑:

我知道了导致错误的原因。

我指的是add_card_category_et而不是edit_card_category_et .

前一个 View 属于我的应用程序的另一个 Activity 的不同布局文件。

很抱歉我无法发现这个小错误。

虽然很小,但还是让我卡了三天。

无论如何,感谢您的回答和评论。

最佳答案

因为editCardCategoryET找不到任何值。所以它会抛出异常。可以通过添加额外字符“”来解决。那么应用程序就不会被压垮。 editCardCategoryET.setText(""+currentCard.getCategory());

您也可以在 try()、catch() 方法中处理它。

关于java - Activity 加载时第一次出现 NullPointerException 但第二次工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58535040/

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