Q:

Взаимодействие Spinner и EditText

Всем привет! 
Работаю с этой библиотекой. В Spinner есть список стран с телефонными кодами. Мне нужно получить код страны в EditText с номером телефона при выборе страны.
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_phone_book);

    ccp = (CountryCodePicker) findViewById(R.id.country_cod_picker);
    phoneNumberEditText = (EditText) findViewById(R.id.phone_number_edit_text);

    ccp.setOnCountryChangeListener(new CountryCodePicker.OnCountryChangeListener() {
    @Override
    public void onCountrySelected() {
    countryCode = ccp.getSelectedCountryCode();
    phoneNumberEditText.setText(countryCode);
    }
  });
}

Код xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".PhoneBookActivity">
    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_margin="@dimen/activity_vertical_margin">

     <TextView
        android:layout_weight="3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="@string/country"
        android:textColor="@color/black"
        android:textSize="@dimen/phone_book_text_size"/>

    <com.hbb20.CountryCodePicker
        app:textSize="@dimen/phone_book_widgets_text_size"
        app:showFullName="true"
        app:defaultNameCode="UA"
        app:contentColor="@color/black"
        android:layout_weight="7"
        android:id="@+id/country_cod_picker"
        android:layout_width="0dp"
        android:layout_height="36dp"
        android:theme="@style/EditTextStyle" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginLeft="@dimen/activity_horizontal_margin"
    android:layout_marginRight="@dimen/activity_horizontal_margin">

    <TextView
        android:layout_weight="3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="@string/phone_number"
        android:textColor="@color/black"
        android:textSize="@dimen/phone_book_text_size"/>

    <EditText
        android:layout_weight="7"
        android:id="@+id/phone_number_edit_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:textSize="@dimen/phone_book_text_size"
        android:theme="@style/EditTextStyle" />
</LinearLayout>
</LinearLayout>

A:

Я так понимаю, что проблема в том, что Ваш код скопирован из onCreate, и Вы пытаетесь получить countryCode ещё при инициализации, до того, как он был действительно выбран. Если это действительно так, переместите вызов ccp.getSelectedCountryCode() внутрь обработчика события onCountrySelected() и всё должно заработать.
ccp.setOnCountryChangeListener(new CountryCodePicker.OnCountryChangeListener() {
        @Override
        public void onCountrySelected() {
            phoneNumberEditText.setText(ccp.getSelectedCountryCode());
        }
    });

UPD: Посмотрел исходники: Вы неправильно пользуетесь фрагментами, советую больше почитать на эту тему, например, в официальной документации.
Приведённый выше XML-файл относится вовсе не к PhoneBookActivity, а к AddFragment и инициализироваться должен там же. Переместите всё, что имеет отноешение к выбору телефонного кода из активити во фрагмент. Должно получиться так:
public class AddFragment extends Fragment{

    private CountryCodePicker ccp;
    private String countryCode;
    private EditText phoneNumberEditText;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_add, container, false);
        ccp = (CountryCodePicker) view.findViewById(R.id.country_code_picker);
        phoneNumberEditText = (EditText) view.findViewById(R.id.phone_number_edit_text);
        ccp.setOnCountryChangeListener(new CountryCodePicker.OnCountryChangeListener() {
            @Override
            public void onCountrySelected() {
                countryCode = ccp.getSelectedCountryCode();
                phoneNumberEditText.setText(countryCode);
            }
        });

        return view;
    }
}

Соответственно в PhoneBookActivity необходимо убрать всё, что относится к ccp, phoneNumberEditText и countryCode. Проверял на Android 6.0.1 -- работает.

