私はAppCompatSpinner
を持っています。TextView
にテキストを設定しようとしています。ここで正しい参照が与えられていても、TextViewでヌルオブジェクト参照を取得する
は私のコードです:
eSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
final TextView eSpinnerTV = (TextView) adapterView.getSelectedView();
switch (i) {
case 0:
final Calendar c = Calendar.getInstance();
mHourEnd = c.get(Calendar.HOUR_OF_DAY);
mMinuteEnd = c.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(activityName.this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, hourOfDay);
date.set(Calendar.MINUTE, minute);
date.set(Calendar.AM_PM, date.get(Calendar.AM_PM));
sEnd(hourOfDay, minute);
uTimeInSF = new SimpleDateFormat("HH:mm:ss").format(date.getTime());
eString = new SimpleDateFormat("hh:mm a").format(date.getTime());
// error on the line below
eSpinnerTV.setText(uTimeAMPM);
}
}, mHourEnd, mMinuteEnd, false);
timePickerDialog.show();
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
ここsEnd.java
ファイルのコードは次のとおりです。
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/pTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:entries="@array/pTimeList"
style="@style/Base.Widget.AppCompat.Spinner">
</android.support.v7.widget.AppCompatSpinner>
ここpTimeList
だ:
public void sEnd(int hour, int min) {
if (hour == 0) {
hour += 12;
format = "AM";
} else if (hour == 12) {
format = "PM";
} else if (hour > 12) {
hour -= 12;
format = "PM";
} else {
format = "AM";
}
uTimeAMPM = hour + ":" + min + " " + format;
}
ここxml
コードです上記のコードで指定された行にjava.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
:
<string-array name="pTimeList">
<item>Pick a time..</item>
</string-array>
はできるだけ早く私はTimePickerDialog
からの時間を選択した後OK
ボタンをクリックしていますように、アプリがこのエラーを与えてクラッシュされます。
上記のテキストビューが上記のコードで明確に参照されている場合でも、このエラーの原因は何ですか。final TextView eSpinnerTV = (TextView) adapterView.getSelectedView();
?
お知らせください。
これが成功しました。同様の問題があります。どうぞご覧ください:http://stackoverflow.com/q/40748389/6144372 –
同じ問題がありますか???? –
いいえ...別の問題です。 –