Как показать элемент активности или просмотреть его фрагмент, а также получить доступ из фрагмента без перехода от фрагмента к активности - PullRequest
0 голосов
/ 08 сентября 2018

Как показать элемент активности или просмотреть его фрагмент, а также получить доступ из фрагмента без перехода от фрагмента к активности, а также сообщить об этом сценарии наоборот.

Вот моя проблема: -

Я использую Поле редактирования поиска в Деятельности, и я хочу использовать это Поле поиска в своем фрагменте, но я не хочу делать какое-либо поле поиска во фрагменте, я просто хочу показать это Поле поиска Деятельности во Фрагменте, когда когда-либо пользователь вводил в поле поиска, затем с помощью textWatcher отследите текст и покажите результат окна поиска во фрагменте, который отсутствует в Activity. Ниже изображение того интерфейса, который я хочу сделать. Check the Image for more details

1 Ответ

0 голосов
/ 08 сентября 2018

Вы можете получить доступ к активности элементам и методам из фрагмента следующим образом:

Шаблон активности

public class ActivityMain extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_content)
   }

   public void updateView(){
       // update your views & vars here
   }
}

Фрагмент шаблона

public class BlankFragment extends Fragment {

   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        
       return inflater.inflate(R.layout.fragment_blank, container, false);
   }
}

public void updateActivityView(){
    if (getActivity() != null){
        ((ActivityMain) getActivity()).updateView();
    }
}

И наоборот, вы можете получить доступ к фрагменту элементам из активности таким образом:

ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment); 
fragment.specific_function_name(); 

Где R.id.example_fragment , скорее всего, идентификатор FrameLayout внутри вашего XML-макета

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...