searchView 아이콘이있는 actionBar가 있습니다. searchView 아이콘을 클릭하면 softInputMode 키보드가 나타나고 검색을 위해 ListView가 나타납니다. 그러나 searchView를 닫을 때 searchView가 닫히지 만 searchView가 닫힐 때 ListView도 닫을 수 없습니다.안드로이드, 닫는 방법 "뒤로"버튼을 눌러 searchView를 닫을 때 ListView
여기 activity_maps.xml
<ListView
android:id="@+id/list"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:layout_editor_absoluteX="0dp"
/>
MapsActivity.java 그래서 처음 MapsActivity.java로드 내가 ListView를 바로 보여주고 싶지 않을 때
ArrayAdapter<String> adapter;
@Override
public boolean onCreateOptionsMenu(final Menu menu){
final ListView lv = (ListView) findViewById(R.id.list);
ArrayList<String> arrayList = new ArrayList<>();
arrayList.addAll(Arrays.asList(getResources().getStringArray(R.array.array_states_trial)));
adapter = new ArrayAdapter<>(MapsActivity.this, android.R.layout.simple_list_item_1, arrayList);
lv.setAdapter(adapter);
lv.setVisibility(View.INVISIBLE);
에서 ListView에 대한 내 코드입니다.
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
lv.setVisibility(View.VISIBLE);
}
});
searchView를 열었을 때 키보드가 튀어 나오면 listView를 표시하려고합니다.
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
lv.setVisibility(View.INVISIBLE);
return false;
}
});
위의 코드에서 listView를 닫고, 사라지게하고, 보이지 않게하고 싶지만 그렇지 않습니다.
btw searchView를 닫을 때 제공되는 actionBar의 "뒤로"버튼을 참조하고 있습니다.
searchView와 키보드가 닫히면 ListView도 닫으려고하지만 어떤 이유로 코드가 인식되지 않고 listView가 닫히지 않게해야합니다.
어떻게 ListView를 닫을 수 있습니까?
onClose 함수가 false를 반환합니까? – phantom
거짓, 사실, 나는 둘 다, 동일한 결과를 시도했다. – iBEK
확인하셨습니까? https://stackoverflow.com/questions/9327826/searchviews-oncloselistener-doesnt-work/12975254#12975254 – phantom