2016-07-19 19 views
1

ユーザーがsearchviewのtextviewの最後に表示される十字を押して、検索クエリをクリアしたときに、デフォルトのアクションを無効にしたい。searchviewのクリアテキストボタンを無効にする

検索クエリをクリアすると同時に、別のアクティビティを開きたいと考えています。

どうすれば上書きできますか?

+0

あなたが何を試してみましたか? – Ironman

+0

何も、正直に。どこから始めたらいいか分からない。私はonclicklistenerを設定するために十字ボタンへの参照を得ることができません。 –

+1

これをご覧ください:http://stackoverflow.com/questions/24794377/android-capture-searchview-text-clear-by-clicking-x-button – Ironman

答えて

-1
@SuppressLint("NewApi") 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu items for use in the action bar 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.country_list_activity_actions, menu); 
    mSearchMenu = menu.findItem(R.id.action_search); 

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
     // Get the SearchView and set the searchable configuration 
     SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
     mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); 

     // Assumes current activity is the searchable activity 
     mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
     mSearchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default 

     // Get the search close button image view 
     ImageView closeButton = (ImageView)mSearchView.findViewById(R.id.search_close_btn); 

     // Set on click listener 
     closeButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       LoggerUtils.d(LOG, "Search close button clicked"); 
       //Find EditText view 
       EditText et = (EditText) findViewById(R.id.search_src_text); 

       //Clear the text from EditText view 
       et.setText(""); 

       //Clear query 
       mSearchView.setQuery("", false); 
       //Collapse the action view 
       mSearchView.onActionViewCollapsed(); 
       //Collapse the search widget 
       mSearchMenu.collapseActionView(); 
      } 
     }); 
    } 

    // When using the support library, the setOnActionExpandListener() method is 
    // static and accepts the MenuItem object as an argument 
    mSearchMenu.setOnActionExpandListener(new OnActionExpandListener() { 

     @Override 
     public boolean onMenuItemActionExpand(MenuItem item) { 
      //Nothing to do here 
      LoggerUtils.d(LOG, "Search widget expand "); 
      return true; // Return true to expand action view 
     } 

     @Override 
     public boolean onMenuItemActionCollapse(MenuItem item) { 
      LoggerUtils.d(LOG, "Search widget collapsed "); 
      return true; // Return true to collapse action view 
     } 
    }); 

    return super.onCreateOptionsMenu(menu); 
} 
関連する問題