如何在弹出窗口上显示微调器或自动完成文本视图?在我的应用程序中,我需要显示一个包含微调器或自定义下拉列表的弹出窗口。如果无法通过弹出窗口实现,那么替代解决方案是什么?
问问题
2724 次
3 回答
2
如果你想在弹出窗口中显示微调器,你必须为微调器设置 android:spinnerMode="dialog" .. 是的,你必须为弹出窗口制作一个自定义布局并将其充气。
这是我的代码:
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();
}});`
您可以在我添加按钮和编辑文本时添加您的微调器。希望它有所帮助。
于 2012-07-17T09:39:30.240 回答
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.
}
在此块中,您可以编写所需的内容。祝你好运
于 2012-07-17T09:33:08.623 回答
0
最好使用 dialog( android.app.Dialog
) 来实现AutoCompleteTextView
。AutoCompleteTextView
在我看来,不可能添加 PopupWindow
(你会得到一个例外)。您可以添加Spinner
. PopupWindow
如果您使用对话框而不是弹出窗口,则可以实现两者。
于 2015-01-20T04:32:23.333 回答