如何在弹出窗口中显示微调器或自动完成文本视图? 在我的应用程序中,我需要显示一个弹出窗口,其中包含微调器或自定义下拉列表。如果在弹出窗口中无法实现,那么替代解决方案是什么?
答案 0 :(得分:2)
如果你想在弹出窗口上显示微调器,你必须为微调器设置android:spinnerMode =“对话框”...是的你必须为弹出窗口制作一个custum布局并给它充气。
这是我的代码:
LayoutInflater layoutInflater = (LayoutInflater)IOStatusActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE)
final View popupView = layoutInflater.inflate(R.layout.popupai, null);
final PopupWindow popupWindowDi = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
final TextView txtReadVal = (TextView)popupView.findViewById(R.id.lblPopUpAiReadFrmPLC);
final EditText txtExpVal = (EditText)popupView.findViewById(R.id.txtPopUpAiExpVal);
Button btnDismiss = (Button)popupView.findViewById(R.id.btnPopUpAiCancle);
btnDismiss.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
popupWindowDi.dismiss();
}});`
你可以添加你的微调器,因为我添加了按钮并编辑了文本。希望它有所帮助。
答案 1 :(得分:1)
custom layout
并在弹出窗口中调用该布局
假设这是我的pop up
代码。
private void showPopUp()
{
final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
helpBuilder.setTitle("");
LayoutInflater inflater = getLayoutInflater();
final View PopupLayout = inflater.inflate(R.layout.jobselection, null);
helpBuilder.setView(PopupLayout);
final AlertDialog helpDialog = helpBuilder.create();
helpDialog.show();
spn = (Spinner)PopupLayout.findViewById(R.id.spn);
caneclbtn = (ImageButton)PopupLayout.findViewById(R.id.cancelBtn);
selectallbtn = (ImageButton)PopupLayout.findViewById(R.id.selectBtn);
clearallbtn = (ImageButton)PopupLayout.findViewById(R.id.clearallBtn);
jobentries = (Button)PopupLayout.findViewById(R.id.entries);
jobList = (ListView)PopupLayout.findViewById(R.id.list);
//ur code here. You can add your spineer with items.
}
在此块中,您可以编写所需内容。祝你好运
答案 2 :(得分:0)
最好使用对话框(android.app.Dialog
)来实现AutoCompleteTextView
。在我看来,无法在AutoCompleteTextView
中添加PopupWindow
(您将获得例外)。您可以在Spinner
中添加PopupWindow
。如果使用对话框而不是弹出窗口,则可以实现这两种方法。