SearchView 검색 상자 컨트롤의 유연성 활용 (1)
4180 단어 Androidsearchview컨트롤수색하다검색 상자
첫째, 레이아웃을 잘 쓰면 ToolBar이고 주제를 NoActionBar로 설정합니다.개인 습관에 익숙해져서 ActionBar를 사용해도 됩니다.
2. menu 파일을 만듭니다.그중에 하나의 item은 검색뷰에 사용자 정의 제출 단추를 제공하기 위해서입니다.
3. Activity 코드.
package com.devin.searchviewdemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements
SearchView.OnQueryTextListener {
private static final String TAG = "SearchView";
private SearchView searchView;
private Toolbar mToolBar;
private Menu menu;
//SearchView , android.support.v7.widget.SearchView$SearchAutoComplete
private SearchView.SearchAutoComplete searchText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolBar = (Toolbar) findViewById(R.id.toolbar_top);
setSupportActionBar(mToolBar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_option_menu, menu);
// menu ,
this.menu = menu;
MenuItem item = menu.findItem(R.id.main_menu_item_search);//
searchView = new SearchView(this);//
item.setActionView(searchView);
//searchView.setIconified(false);//
//searchView.setQueryHint(" ");//
searchView.setOnQueryTextListener(this);//
// ,
//searchView.setSubmitButtonEnabled(true);//
//
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
Log.i(TAG, " ");
return false;
}
});
searchText = (SearchView.SearchAutoComplete) searchView.findViewById(R.id.search_src_text);
return true;
}
/**
*
*
* @param query
* @return
*/
@Override
public boolean onQueryTextSubmit(String query) {
//
Log.i(TAG, "submit:" + query);
return false;
}
/**
*
*
* @param newText
* @return
*/
@Override
public boolean onQueryTextChange(String newText) {
MenuItem btnItem = menu.findItem(R.id.main_menu_item_btn_search);
// , ,
if (newText.isEmpty()) {
btnItem.setVisible(false);
} else {
btnItem.setVisible(true);
}
return true;
}
/**
*
*
* @param item
* @return
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.main_menu_item_btn_search:
//
Toast.makeText(MainActivity.this, searchText.getText().toString(), Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return true;
}
}
원본 제출 단추를 사용할 수 있습니다. 오른쪽 방향의 화살표입니다. 확대경을 사용하려면 사용자 정의 화살표를 사용하십시오.텍스트 변화로 표시 여부를 감시합니다.클릭할 때 검색 상자의 텍스트를 가져옵니다.
자동으로 완성된 코드를 연구해야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.