TIL, WIL(일기)
230919 SearchView 억까
도슬
2023. 9. 19. 23:07
문제 발생
SearchFragment
import android.widget.SearchView
import com.android.imagesearch.databinding.FragmentSearchBinding
class SearchFragment : Fragment() {
private val binding by lazy { FragmentSearchBinding.inflate(layoutInflater) }
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding.searchView.apply {
isSubmitButtonEnabled = true
setOnQueryTextListener(object : SearchView.OnQueryTextListener{
override fun onQueryTextSubmit(query: String?): Boolean {
if (!query.isNullOrEmpty()) {
}
return true
}
override fun onQueryTextChange(newText: String?): Boolean {
return true
}
})
}
return binding.root
}
}
Problem
1. object : SearchView.OnQueryTextListener 부분에서 위와같이 "Type mismatch: inferred type is `` but SearchView.OnQueryTextListener! was expected" 에러가 뜬다.
2. 나는 단지 SearchView를 쓰고 싶었을 뿐인데, 아직 내부에 코드 작성도 안했는데 시작부터 억까당했다.
3. OnQueryTextListener에 마우스를 올려봐도 Found가 빈칸이고
4. SearchView에 마우스를 올려봐도 Found가 빈칸이다.
5. 웃긴건 SearchView도 자동완성이되고 OnQueryTextListener도 자동완성이된다.
6. 사람 약올리는것도아니고 안될꺼면 아예 안되던가 자동완성은되는데 빨간줄이네?
7. 검색을 하면뭐하나.. 키워드가 잘못된건지 도대채 이유를 알 수 없었다.
해결방법
1. SearchView를 import하면 2종류가있단걸 3시간만에 깨달았다.
2. androidx.appcompat.widget을 import하니 해결되었다.
3. 누군가는 import하면 한개만 뜬다는데 Android Studio형님 도대채 나한테 왜이러십니까?