[英]AutoCompleteTextView within popup in MainActivity
在MainActivity中,我弹出带有AutoCompleteTextView的窗口,它可以正常工作。 我什至可以为此做一些工作(egtextView.setText(“ New”))。 但是我担心适配器,因为单击TextView之后没有任何反应(没有列表和键盘)。
我认为这个问题符合要求:
ArrayAdapter<String> adapter = new ArrayAdapter <String (customView.getContext(),android.R.layout.simple_dropdown_item_1line, countryNameList);
特别是在第一个参数-上下文中。 我不知道该放什么。 我的代码:
public void steptwo() {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
View customView = inflater.inflate(R.layout.popup_observedproperty,null);
mPopupWindow = new PopupWindow(
customView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
String[] countryNameList = {"India", "China", "Australia", "New Zealand", "England", "Pakistan"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(customView.getContext(),
android.R.layout.simple_dropdown_item_1line, countryNameList);
AutoCompleteTextView textView = (AutoCompleteTextView) customView.findViewById(R.id.autoCompleteTextView);
textView.setText("New");
textView.setAdapter(adapter);
if(Build.VERSION.SDK_INT>=21){
mPopupWindow.setElevation(5.0f);
}
mPopupWindow.showAtLocation(mRelativeLayout, Gravity.CENTER,0,0);
}
您需要使PopupWindow
焦点。 若要使AutoCompleteTextView
立即打开键盘,请将PopupWindow
的SoftInputMode
设置为SOFT_INPUT_STATE_ALWAYS_VISIBLE
。
public void steptwo() {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
View customView = inflater.inflate(R.layout.popup_observedproperty,null);
mPopupWindow = new PopupWindow(
customView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
String[] countryNameList = {"India", "China", "Australia", "New Zealand", "England", "Pakistan"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(customView.getContext(),
android.R.layout.simple_dropdown_item_1line, countryNameList);
AutoCompleteTextView textView = (AutoCompleteTextView) customView.findViewById(R.id.autoCompleteTextView);
textView.setText("New");
textView.setAdapter(adapter);
textView.setThreshold(1);
if(Build.VERSION.SDK_INT>=21){
mPopupWindow.setElevation(5.0f);
}
mPopupWindow.setFocusable(true);
mPopupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
mPopupWindow.showAtLocation(mRelativeLayout, Gravity.CENTER,0,0);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.