Attempt to invoke virtual method on a null object reference ошибка
У меня случилась проблема Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference. Не могу понять причину. В манифесте активити объявлена, в xml есть привязка, подскажите, пожалуйста, в чем проблема, спасибо!
OpenDate:
public class OpenDate extends AppCompatActivity {
Boolean noti;
private AppBarConfiguration appBarConfiguration;
private ActivityOpenDateBinding binding;
public static final int[] NOTIF_DATE = new int[]{6,14,28};
Note n;
NoteDao nd;
TextView[] tv1;
TextView[] tv3;
TextView tv2;
TextView tv4;
TextView tv5;
int[] d1;
int[] d3;
int d2;
int d4;
int d5;
String date0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Intent intent = getIntent();
final int bd_id = intent.getExtras().getInt("id");
nd = App.getInstance().getNd();
n = nd.getById(bd_id);
final TextView tv_name = findViewById(R.id.tv_name0);
final TextView por = findViewById(R.id.tv_por);
final TextView color = findViewById(R.id.tv_color);
final TextView date = findViewById(R.id.date0);
tv_name.setText(n.getName());
por.setText(n.getPoroda());
color.setText(n.getColor());
date0 =n.getDate();
date.setText(date0);
tv1 = new TextView[]{
findViewById(R.id.date1),
findViewById(R.id.date2),
findViewById(R.id.date3),
findViewById(R.id.date4),
findViewById(R.id.date5),
findViewById(R.id.date6),
findViewById(R.id.date7),
findViewById(R.id.date8),
findViewById(R.id.date9),
findViewById(R.id.date11)
};
tv3 = new TextView[]{
findViewById(R.id.date14),
findViewById(R.id.date15),
findViewById(R.id.date16),
};
tv2 = findViewById(R.id.date12);
tv4 = findViewById(R.id.date10);
tv5 = findViewById(R.id.date13);
//
d1 = new int[]{1,2,3,4,5,6,7,8,9,11};
d3 = new int[]{22,25,28}; //+2
d2 = 15; //+1
d4 = 10; //+3
d5 = 17; //+4
CheckBox notif = findViewById(R.id.cb_notif);
noti = n.notif;
if (noti) {
notif.setActivated(true);
}
//Cтатус уведомлений
notif.setOnCheckedChangeListener((buttonView, isChecked) -> {
noti=!noti;
n.notif = noti;
nd.ins(n);
if(noti){
Toast.makeText(OpenDate.this, "Вам придут уведомления в даты, отмеченные жирным шрифтом.", Toast.LENGTH_LONG).show();
}
});
binding = ActivityOpenDateBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
ImageButton del = findViewById(R.id.ib_del);
del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder dlg = new AlertDialog.Builder(OpenDate.this);
dlg.setMessage("Вы уверены, что хотите удалить запись?")
.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("Удалить", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dele();
}
})
.create();
dlg.show();
}
});
}
private void dele() {
nd.del(n);
Toast.makeText(OpenDate.this, "Запись успешно удалена.", Toast.LENGTH_SHORT).show();
Intent i = new Intent(OpenDate.this, MainActivity.class);
startActivity(i);
finish();
}
protected void onDestroy() {
super.onDestroy();
Intent i = new Intent(OpenDate.this, MainActivity.class);
startActivity(i);
finish();
}
@RequiresApi(api = Build.VERSION_CODES.O)
private void fill_tv(){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDate localDate = LocalDate.parse(date0, formatter);
for (int i=0; i<d1.length;i++){
LocalDate incrementedDate = localDate.plusDays(d1[i]);
tv1[i].setText(incrementedDate.format(formatter));
}
for (int i=0; i<d3.length;i++){
LocalDate iDate = localDate.plusDays(d3[i]);
LocalDate iDatee = localDate.plusDays(d3[i]+2);
tv3[i].setText(iDate.format(formatter)+" - "+iDatee.format(formatter));
}
LocalDate iDate = localDate.plusDays(d4);
LocalDate iDatee = localDate.plusDays(d4+3);
tv4.setText(iDate.format(formatter)+" - "+iDatee.format(formatter));
iDate = localDate.plusDays(d5);
iDatee = localDate.plusDays(d5+3);
tv5.setText(iDate.format(formatter)+" - "+iDatee.format(formatter));
iDate = localDate.plusDays(d2);
iDatee = localDate.plusDays(d2+1);
tv2.setText(iDate.format(formatter)+" - "+iDatee.format(formatter));
}
}
activity_open_date:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".OpenDate">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/wallpaper"
app:layout_anchor="@+id/constraintLayout"
app:layout_anchorGravity="center">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="47dp"
android:layout_marginTop="30dp"
android:text="Улей:"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="46dp"
android:layout_marginTop="15dp"
android:text="Порода пчел:"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView6" />
<TextView
android:id="@+id/tv_por"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="47dp"
android:layout_marginTop="15dp"
android:text="____________________"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/textView8"
app:layout_constraintTop_toBottomOf="@+id/tv_name0" />
<TextView
android:id="@+id/tv_color"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="57dp"
android:layout_marginTop="22dp"
android:text="____________________"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/textView10"
app:layout_constraintTop_toBottomOf="@+id/tv_por" />
<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="46dp"
android:layout_marginTop="22dp"
android:text="Цвет матки:"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<TextView
android:id="@+id/tv_name0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="81dp"
android:layout_marginTop="30dp"
android:text="_____________________________"
android:textSize="16sp"
app:layout_constraintStart_toEndOf="@+id/textView6"
app:layout_constraintTop_toTopOf="parent" />
<CheckBox
android:id="@+id/cb_notif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="47dp"
android:layout_marginTop="14dp"
android:text="Уведомления"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scrollView2" />
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="409dp"
android:layout_height="485dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_color">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textV3iew12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Дата закладки матки:"
android:textSize="16sp" />
<TextView
android:id="@+id/date0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center">
<TextView
android:id="@+id/textVi3ew9"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Стадии развития матки"
android:textAlignment="center"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center">
<TextView
android:id="@+id/te3xtView9"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Яйцо"
android:textAlignment="center"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/t3extView12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Стоячее:"
android:textSize="16sp" />
<TextView
android:id="@+id/date1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textVie3w12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Наклонное:"
android:textSize="16sp" />
<TextView
android:id="@+id/date2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView123"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Лежачее:"
android:textSize="16sp" />
<TextView
android:id="@+id/date3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center">
<TextView
android:id="@+id/textView39"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Личинка"
android:textAlignment="center"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/t3extVie3w12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Однодневная:"
android:textSize="16sp" />
<TextView
android:id="@+id/date4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView312"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Двухдневная:"
android:textSize="16sp" />
<TextView
android:id="@+id/date5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textVi3ew12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textStyle="bold"
android:text="Трехдневная (контроль):"
android:textSize="16sp" />
<TextView
android:id="@+id/date6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text3View12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Четырехдневная:"
android:textSize="16sp" />
<TextView
android:id="@+id/date7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tex3tView12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Пятидневная:"
android:textSize="16sp" />
<TextView
android:id="@+id/date8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView132"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Печатка:"
android:textSize="16sp" />
<TextView
android:id="@+id/date9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center">
<TextView
android:id="@+id/textVie3w9"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Куколка"
android:textAlignment="center"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textV33iew12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Запечатка:"
android:textSize="16sp" />
<TextView
android:id="@+id/date10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textVi33ew12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textStyle="bold"
android:text="Отбор:"
android:textSize="16sp" />
<TextView
android:id="@+id/date11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center">
<TextView
android:id="@+id/textView9"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Матка"
android:textAlignment="center"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tex33tView12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Выход матки:"
android:textSize="16sp" />
<TextView
android:id="@+id/date12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textV333iew12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Дозревание матки:"
android:textSize="16sp" />
<TextView
android:id="@+id/date13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/te33xtView12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Облет матки:"
android:textSize="16sp" />
<TextView
android:id="@+id/date14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textVi333ew12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Осеменение матки:"
android:textSize="16sp" />
<TextView
android:id="@+id/date15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView12"
android:layout_width="125dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textStyle="bold"
android:text="Контроль кладки яиц:"
android:textSize="16sp" />
<TextView
android:id="@+id/date16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="----"
android:textSize="16sp" />
</TableRow>
</TableLayout>
</ScrollView>
<ImageButton
android:id="@+id/ib_del"
android:layout_width="58dp"
android:layout_height="65dp"
android:layout_marginStart="128dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toEndOf="@+id/cb_notif"
app:layout_constraintTop_toBottomOf="@+id/scrollView2"
app:srcCompat="@android:drawable/ic_menu_delete" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Ответы (1 шт):
Автор решения: ЮрийСПб
→ Ссылка
Вы ищите вьюхи в разметке до того, как эту разметку загружаете. Перенесите строки
binding = ActivityOpenDateBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
до первых вызовов findViewById