Я бы проголосовал против этого вопроса, но вы, кажется, в трудном положении.
сначала проверьте, как передавать данные между фрагментами:
Вот что я бы сделал:
//Set the edit text on a changed listener
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
// Pass values from your fragment to your other fragment
Bundle b = new Bundle();
b.putString("city", s);
FragmentB fragB = new FragmentB();
fragB.setArguments(b);
getFragmentManager().beginTransaction().replace(R.id.your_container, fragB);
}
});
Then you have to receive your values in the fragment
Bundle b = this.getArguments();
if(b != null){
String city = b.getString("city");
}
, если ваше значение поиска связано с действием, просто передайтезначение от действия к фрагменту:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Bundle bundle = new Bundle();
bundle.putString(s, "city");
tab1.setArguments(bundle);
}
});
Затем получите аргументы в своем фрагменте
if (getArguments() != null) {
String city = getArguments().getString("city);
}
или вы можете использовать интерфейс, я не вижу ваш код, поэтому я не могу сказать, какойлучше для вас.