Вариант 1. Создайте проект.
Вариант 2. используйте библиотеку ButterKnife вместо findViewById.
1.) импортируйте эту библиотеку. реализация: com.jakewharton: butterknife: 8.8.1 'annotationProcessor' com.jakewharton: butterknife-компилятор: 8.8.1 '
2) @BindView (R.id.HomeButton) ImageButton homebtn;
@BindView(R.id.MenuButton)
ImageButton menubtn;
@BindView(R.id.MapButton)
ImageButton mapbtn;
После этого привяжите метод imageButton в oncreate () ... 3) ButterKnife.bind (this);
Я бы проголосовал против этого вопроса, но вы, кажется, в трудном положении.
сначала проверьте, как передавать данные между фрагментами:
Вот что я хотел бы сделать:
//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);
}
или вы можете использовать интерфейс, я не вижу ваш код, поэтому я не могу сказать, какой лучше для вас.
Вы должны создать интерфейс в качестве прослушивателя между действием и фрагментом, но я предлагаю использовать EventBus, это облегчит вам этот подход
https://github.com/greenrobot/EventBus [110 ], http://greenrobot.org/eventbus/