Итак, у меня есть этот счетчик, где я хочу найти то, что выбрал выбранный элемент. У меня есть что-то на месте, чтобы вспомнить, какой элемент выбран. Теперь есть кнопка, чтобы щелкнуть в том же макете, где находится счетчик, это вызовет диалоговое окно, в котором указывается, какой элемент вы выбрали. Но я получаю ошибку, на мой журнал кота он говорит: «java.lang.NullPointerException»Выберите значение Spinner item
Это мой XML-файл для диалогового окна;
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffc0c0c0">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Saving's Account"
android:id="@+id/spinnerSelectedText"
android:textColor="#ff000000"
android:drawableLeft="@drawable/transferaccount_icon"
android:drawablePadding="10dp"
android:paddingLeft="10dp"
android:layout_marginTop="10dp"
android:textSize="16sp" />
</RelativeLayout>
Это мой файл java, который предназначен для диалога;
public class examplefile extends DialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inf = getActivity().getLayoutInflater();
View theDIalog = inf.inflate(R.layout.makea_transfer_confirm, null);
builder.setView(theDIalog);
builder.setCancelable(true);
return dialog;
}
}
Теперь это экран, который вы получаете, когда вы начинаете - хорошо после основного класса активности, но я не хочу, чтобы разделить код от основной деятельности, так как я считаю, что это не нужно;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
final View v = inflater.inflate(R.layout.makea_transfer, container, false);
spinner = (Spinner)v.findViewById(R.id.spinnermakeatransfer);
ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.accounts,R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_items);
spinner.setAdapter(adapter);
spinner.setPrompt("Select an item");
Spinner spinner1 = (Spinner)v.findViewById(R.id.spinnermakeatransfer);
String spinnerSelectedItem = spinner1.getSelectedItem().toString();
TextView spinnerText = (TextView) v.findViewById(R.id.spinnerSelectedText);
spinnerText.setText(spinnerSelectedItem);
return v;
}
Теперь это код makea_transfer;
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinnermakeatransfer"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:paddingTop="5dp"
android:spinnerMode="dialog"
android:layout_marginTop="5dp"
android:touchscreenBlocksFocus="false" />
</RelativeLayout>
Пожалуйста, помогите мне исправить эту проблему, пожалуйста, прокомментируйте, если вы не понимаете и не нуждаетесь в более подробной информации от меня.
Это Log Cat Click Here
Да, вы правы, поэтому внутри java-файла examplefile я могу изменить этот текст и заменить его значением spinner? –
@ user3511639: см. Мой ответ на редактирование. дайте мне знать, если все еще какая-либо проблема. –
. Вы меня не упустили, пока я отправляю этот комментарий, поэтому я быстро прочитаю, что вы набрали. –