Я начал создавать свое первое приложение на сайте разработчика Android.Я получаю следующую ошибку в файле DisplayMessageActivity.java
.
java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.example.amir.myapplication / com.example.amir.myapplication.DisplayMessageActivity}: java.lang.NullPointerException: попытка вызвать виртуальныйметод 'void android.widget.TextView.setText (java.lang.CharSequence)' для ссылки на пустой объект
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);
}
}
Кроме того, мне интересно, почему, когда я набираю manualy:
textView.setText(message);
setText
становится красным в виде ошибки, однако при копировании вставьте его из учебника для Android setText будет серым.
Обратите внимание, что я начинающий.Я прошел один базовый курс по Java и начал этот урок по Android как мой первый домашний «проект».
<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);