构建你的第一个应用程序 DisplayMessageActivity textview 错误,应用程序在启动时崩溃
Build your first app DisplayMessageActivity textview error, app crashes at startup
我在 Android 开发者网站上开始构建您的第一个应用程序。我在 DisplayMessageActivity.java
文件中收到以下错误。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.amir.myapplication/com.example.amir.myapplication.DisplayMessageActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import static com.example.amir.myapplication.R.id.textView;
public class DisplayMessageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// Get the Intent that started this activity and extract the string
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Capture the layout's TextView and set the string as its text
TextView textView = findViewById(R.id.textView);
textView.setText(message);
}
}
此外,我想知道为什么,当我手动输入时:
textView.setText(message);
setText
将红色变为错误,但是当我从 android 教程复制粘贴它时,setText 是灰色的。
请注意,我是一个完全的初学者。我学习了一个基础 Java 课程,并开始这个 android 教程作为我的第一个家 "project"。
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="TextView"
android:textColor="@android:color/holo_purple"
android:typeface="sans"
app:fontFamily="sans-serif"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
我通过将其更改为 textView2 来修复它
TextView textView = findViewById(R.id.textView2);
我通过将其更改为 textView2 来修复它,它是我的 xml 文件中的 ID (android:id="@+id/textView2")
TextView textView = findViewById(R.id.textView2);
我在 Android 开发者网站上开始构建您的第一个应用程序。我在 DisplayMessageActivity.java
文件中收到以下错误。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.amir.myapplication/com.example.amir.myapplication.DisplayMessageActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import static com.example.amir.myapplication.R.id.textView;
public class DisplayMessageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// Get the Intent that started this activity and extract the string
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Capture the layout's TextView and set the string as its text
TextView textView = findViewById(R.id.textView);
textView.setText(message);
}
}
此外,我想知道为什么,当我手动输入时:
textView.setText(message);
setText
将红色变为错误,但是当我从 android 教程复制粘贴它时,setText 是灰色的。
请注意,我是一个完全的初学者。我学习了一个基础 Java 课程,并开始这个 android 教程作为我的第一个家 "project"。
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="TextView"
android:textColor="@android:color/holo_purple"
android:typeface="sans"
app:fontFamily="sans-serif"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
我通过将其更改为 textView2 来修复它 TextView textView = findViewById(R.id.textView2);
我通过将其更改为 textView2 来修复它,它是我的 xml 文件中的 ID (android:id="@+id/textView2")
TextView textView = findViewById(R.id.textView2);