Я пытаюсь передать данные между фрагментом и активностью, и я не могу. У меня нет ошибок или исключений. На моем фрагменте у меня есть значение vallue и on activity, значение которого равно null. Я использую интерфейсы.Android: данные между фрагментами и действиями
Код HoroscopeChoice Фрагмент, который является фрагментом с кнопками. Каждая кнопка имеет значение, которое я хочу передать в действие каждый раз, когда я их нажимаю.
(...)
static OnInfoChangedListener mCallback;
public HoroscopeChoice() {}
/******************************
* Callback
********/
public static void OnInfoChangedListener(OnInfoChangedListener callback) {
mCallback = callback;
}
public interface OnInfoChangedListener {
public void onInfoChanged(String horosocopo);
}
public View onCreateView(final LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_horoscope_choice,
container, false);
Button aquarius;
aquarius = (Button) view.findViewById(R.id.aquarius1);
final int id = view.getId();
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
String horoscopo = onClick2(v.getId());
Log.d("HoroscopeChoice", "push button->"+horoscopo);
mCallback.onInfoChanged(horoscopo);
}
};
aquarius.setOnClickListener(onClickListener);
public String onClick2(int id)
{
String horoscopo="";
if (id == R.id.aquarius1) {
horoscopo = "Aquarius";
}
}
(...)
Код деятельности:
(...)
public void onInfoChanged(String horoscopo) {
Log.d("SchedulerActivity","OnInfoChanged na Scheduler->"+horoscope);
mHoroscopeDisplay = (TextView) findViewById(R.id.dailyHoroscope4);
mHoroscopeDisplay.setText(horoscopo);
}
Когда я Log.d в Фрагменте я получаю значение, на операцию я не имеют никакого значения. Кто-нибудь знает, что не так?
1. Как устанавливается 'mCallback'? 2. Возможно, проблема находится внутри метода onClick2(). Что там? – Karakuri
@ Karakuri Я забыл поместить его здесь, но я добавил. Когда я печатаю Log.d(), который у меня есть в коде, я получаю действительное значение в Fragment, но в Activity no ... – porthfind
Вы не добавили, где 'mCallback' _assigned_. Вы только добавили, где это _declared_. Я ищу что-то вроде 'mCallback = {something}' – Karakuri