gpt4 book ai didi

安卓 :WindowManager$BadTockenException on Spinner Click

转载 作者:太空狗 更新时间:2023-10-29 15:49:22 24 4
gpt4 key购买 nike

我的 home.class 中有一个微调器。当我单击微调器时,进程停止显示捕获到 WindowManager$BadTockenException 的异常。

我从扩展 ActivityGroup 的 main.class 调用这个 home.class。

如果我只运行 home.class,微调器会显示所有项目。但问题仅在于从 main.class 调用 home.class。

以下是我的代码。请告诉我为什么会这样。

主类

public class main extends ActivityGroup
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Intent intent=new Intent(this,home.class);
View view=getLocalActivityManager().startActivity("1", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
setContentView(view);
}

home.class

String[] country={"Please selects","US","INDIA","UK"};
Spinner s2 = (Spinner) findViewById(R.id.spinnerCountry);
ArrayAdapter<CharSequence> adapterCountry=new ArrayAdapter(this,android.R.layout.simple_spinner_item,country);
adapterCountry.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s2.setAdapter(adapterCountry);

s2.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected( AdapterView<?> parent, View view, int position, long id)
{
countryName=country[position];
}

public void onNothingSelected(AdapterView<?> parent)
{
countryName=country[0];
}

});

堆栈

线程 [<1> main](已暂停(异常 WindowManager$BadTokenException))
AlertDialog(Dialog).show() 行:245
AlertDialog$Builder.show() 行:802
Spinner.performClick() 行:260
查看 $PerformClick.run() 行:9080
ViewRoot(处理程序).handleCallback(消息)行:587 ViewRoot(Handler).dispatchMessage(Message) 行:92 Looper.loop() 行:123 ActivityThread.main(String[]) 行:3647
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行:不可用[本地方法]
方法调用(对象,对象...)行:507
ZygoteInit$MethodAndArgsCaller.run() 行:839
ZygoteInit.main(String[]) 行:597 NativeStart.main(String[]) 行:不可用 [本地方法]

谢谢你....

最佳答案

错误可能与您的 home.class 中给出的 setContentView 有关。

代替 setContentView(yourlayout);

给予,

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(yourlayout, null);
this.setContentView(viewToLoad);
Spinner s2 = (Spinner) viewToLoad.findViewById(R.id.spinnerCountry);

并将您的微调器代码提供为:

ArrayAdapter<CharSequence> adapterCountry=new ArrayAdapter(this.getParent(),android.R.layout.simple_spinner_item,country);
adapterCountry.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s2.setAdapter(adapterCountry);

由于您使用的是 Activity 组,因此您遇到了这个问题。希望这个解决方案可以帮助到您。

关于安卓 :WindowManager$BadTockenException on Spinner Click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4665931/

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