2017-10-14 2 views
1

안녕하세요. OneFragment와 ThreeFragment라는 두 개의 조각이 있습니다.일부 조각에서 searchview를 제거하는 방법?

OneFragment는 AllNewsFragment라는 ViewPager와 함께 Fragment에로드됩니다.

ThreeFragment에는 ViewPager with Fragment라는 SoccerFragment가로드됩니다.

같은 AllNewsFragment-> OneFragment

SoccerFragment-> ThreeFragment이 코드를 사용하는 OneFragment searchview 추가

: 그것은 prefectly 작동하지만, 그 문제 s는

@Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     menu.clear(); 
     inflater.inflate(R.menu.menu_search, menu); 
     MenuItem item = menu.findItem(R.id.action_search); 
     SearchView searchView = new SearchView(((navigation) getActivity()).getSupportActionBar().getThemedContext()); 
     MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItemCompat.SHOW_AS_ACTION_IF_ROOM); 
     MenuItemCompat.setActionView(item, searchView); 
     searchView.setOnQueryTextListener(
       new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       return false; 
      } 
      @Override 
      public boolean onQueryTextChange(String newText) { 
       adapter.getFilter().filter(newText); 

       return true; 
      } 
     }); 
     searchView.setOnClickListener(new View.OnClickListener() { 
              @Override 
              public void onClick(View v) { 

              } 
             } 
     ); 

    } 

스위칭 ThreeFragment에 대한 searchview는 여전히 ThreeFragment에 표시됩니다.

ThreeFragment에서 동일한 코드 onCreateOptionsMenu를 구현하고 searchView.setVisibility (View.GONE)를 추가하려고했습니다. 하지만 작동하지 않습니다.

OneFragment에서만 검색보기를 표시하고 ThreeFragment에서 제거하려고합니다.

감사합니다.

답변

0

하나의 조각에서 검색을 수행하려면 Edittext를 사용하여 검색하고 EditText를 One Fragment (AllNewsFragment) XML에 넣으십시오. 당신 글고 치기는 다음과 같이 검색 할 수 있습니다 (정보 검색)로 명명 경우처럼 :

searchbox.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void afterTextChanged(Editable editable) { 
      //after the change calling the method and passing the search input 
      adapter.getFilter().filter(newText); 
     } 
    }); 
+0

없음 내가 t이 글고 치기를 사용하려면 돈 없다 –

관련 문제