gpt4 book ai didi

android - 微调器在弹出窗口中显示为下拉列表?

转载 作者:行者123 更新时间:2023-11-29 01:18:15 24 4
gpt4 key购买 nike

如何在弹出窗口中将微调器显示为下拉菜单,它在对话框模式下工作正常,但是当我将其设置为下拉菜单时,它会给我一个错误。

这是我的代码

LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
final View popupView10 =layoutInflater.inflate(R.layout.successful_dontfollow_main, null);
popupWindow10 = new PopupWindow(popupView10,ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);
popupWindow10.showAtLocation(popupView10, Gravity.CENTER, 0,0);
popupWindow9.dismiss();
spinner1 = (Spinner) popupView10.findViewById(R.id.spinner2);
spinner1.setAdapter(new MycustomAdapter( MainActivity.this,R.layout.popupbutton2_activity, payment));

和我的自定义适配器类

 public  class MycustomAdapter extends ArrayAdapter<String>
{
String[] payment={"BARCLAYS XXXX-XXX-XX89 ","BANK OF AMERICA XXXX-XXX-XX89","HSBC XXXX-XXX-XX89 "};

public MycustomAdapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}

当我将其设置为下拉菜单时出现此错误

07-15 12:26:27.952 24452-24452/com.example.user.popup E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.user.popup, PID: 24452
android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@228edc12 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:562)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:282)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.widget.PopupWindow.invokePopup(PopupWindow.java:1104)
at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1008)
at android.widget.ListPopupWindow.show(ListPopupWindow.java:639)
at android.widget.Spinner$DropdownPopup.show(Spinner.java:1138)
at android.widget.Spinner.performClick(Spinner.java:683)
at android.view.View$PerformClick.run(View.java:19881)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5294)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

如何将微调器设置为下拉?

最佳答案

 MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
//Do your UI operations like dialog opening or Toast here


LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
final View popupView10 =layoutInflater.inflate(R.layout.successful_dontfollow_main, null);
popupWindow10 = new PopupWindow(popupView10,ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);
popupWindow10.showAtLocation(popupView10, Gravity.CENTER, 0,0);
popupWindow9.dismiss();
spinner1 = (Spinner) popupView10.findViewById(R.id.spinner2);
spinner1.setAdapter(new MycustomAdapter( MainActivity.this,R.layout.popupbutton2_activity, payment));
}
});

关于android - 微调器在弹出窗口中显示为下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38389992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com