我有一个包含3个活动A,B,C的tabhost
活动A有一个带有当前适配器的列表视图,然后在适配器内部执行sqlite插入,然后在活动C中还有一个带有另一个适配器的微调器列表视图。在活动C中,我添加了刷新微调器内容的方法,以及onResume()的方法,其中包含刷新微调器内容。如果我从活动A的listview的适配器插入,spinner没有得到任何更改(我希望它可以从onResume()获得更改,因为有一些代码来刷新微调器内容),但没有任何反应。此外,如果我使用以下代码调用刷新微调器内容的方法:
Context mycontext;
((Activity C) mycontext).RefreshSpinner();
然后也没有发生任何事情。那么我该如何解决这个问题呢?我用2种方式做到了。提前谢谢。
答案 0 :(得分:4)
枝, 在您的适配器中,如果您的应用程序获取的上下文来自活动A,并且您想要刷新活动C中的Spinner内容,则可以将您的代码放在活动C的onResume()方法中,或者用于绑定Spinner的适配器活动C.为此,您可以创建一个包含所需更改的静态方法,并首先在Activity A的Adapter类中更新它。然后更改为重新加载一个微调器,其中包含您在Adapter中更新的一些随机列表/数据活动A可以直接在Adapter for Activity C或Activity C的onResume()方法中使用。然后,您创建一个包含更新数据的列表,并将其绑定到Adapter for Activity A中,并在Activity C的onResume()方法中填充它将上下文传递给它。