在搜索解決方案時,我一直非常疲憊,以將建議列表放在鍵盤前。自動完成TextView建議列表位於鍵盤後面
有鍵盤的背後更多的建議。 我希望能夠看到這些建議,當我觸摸/滾動此列表通過將列表在鍵盤前。 我檢查了許多類似的問題,但沒有任何希望有效地這樣做。 在THIS QUESTION上提出的建議不能解決所有設備的問題。 我也看到了THIS QUESTION但它沒有幫助解決問題。
有沒有什麼建議如何解決這個問題。
在搜索解決方案時,我一直非常疲憊,以將建議列表放在鍵盤前。自動完成TextView建議列表位於鍵盤後面
有鍵盤的背後更多的建議。 我希望能夠看到這些建議,當我觸摸/滾動此列表通過將列表在鍵盤前。 我檢查了許多類似的問題,但沒有任何希望有效地這樣做。 在THIS QUESTION上提出的建議不能解決所有設備的問題。 我也看到了THIS QUESTION但它沒有幫助解決問題。
有沒有什麼建議如何解決這個問題。
這是由於佈局問題。基本上你的鍵盤有焦點,因爲用戶正在寫信,但你想顯示下拉列表。但是,如果您看到下拉列表,則不會看到鍵盤,用戶每次想要繼續寫作時都必須關注EditText
。所以基本上你看到的行爲是正確的IMO。
你有2個選擇這裏:
1)更改您的佈局,幫助中心從屏幕的最上方顯示,並具有足夠的高度,以顯示其所有建議。
2)限制要顯示的下拉項目。由於沒有本地方式來實現這一點,因爲沒有maximumSuggestions
選項,您可以獲取其中一行的高度並將其乘以X倍(即X顯示的行數)並使用setDropDownHeight()
來設置其高度。更多關於這個here的信息。
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(viewResourceId, parent, false);
holder = new ViewHolder();
init(convertView, holder);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
convertView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
InputMethodManager imm = (InputMethodManager) getContext()
.getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(
searchView.getWindowToken(), 0);
}
return false;
}
});
setView(position, holder);
return convertView;
}
您應該提供解釋以及您的代碼,並確保其格式正確... – tmthydvnprt
解釋在哪裏? – Blake
我從來沒有見過開發者必須在軟鍵盤上放置這樣的下拉菜單。我要冒昧地說,不能/不應該試圖解決這個問題。您發佈的第二個問題鏈接的第二個答案似乎是最好的方式(顯示軟鍵盤自動填充中的選項)。 –