从另一个活动更新视图
我想模拟一个使用Activity与Theme.Dialog的软件键盘。键盘活动仅覆盖屏幕的一部分。潜在的活动仍然活跃,可以直接控制。我希望输入的文本在键入时显示在底层的活动中。从另一个活动更新视图
有没有一种方法可以做到这一点?我正在考虑将我的EditText的引用投入到Intent Bundle中,但这看起来不正确。
编辑:有人回答说让EditText静态,但后来删除了响应。如果事实证明这是正确的回应,他们可以将它添加回来吗?
我回答我的问题在接取的主要活动的变量,因为谁提供的原始的人回复删除它,并没有转贴。
迄今为止,我发现的最佳解决方案是在软件键盘活动中创建一个静态字段,该字段指向被操纵的EditText。调用Activity然后在启动意图之前更新这个静态字段。
这可以无缝地工作,而且我在调用Activity从堆栈中爆炸时没有任何问题。
它不会工作..你的活动将在..尝试调用的东西有它肯定会抛出异常..不要尝试暂停状态..尝试onActivityResult()
,而不是...
:编辑
以及那就试试这个..
得到活动实例(我的意思是它具有编辑文本的活动),然后
if(!yourActviity.isFinishing())
{
((EditText)yourActviity.findViewById(R.id.editText)).setText("text");
}
如果u使用自定义对话框ü可以使用其mainactivity context.for,ü需要转换的背景下mainactivity型
我没有使用自定义对话框,而是使用Theme.Dialog为主题的自定义活动。 – 2012-04-25 05:54:11
请粘贴自定义活动的代码 – 2012-04-25 05:56:13
它未处于暂停状态。我可以直接与底层活动交互。 – 2012-04-25 05:46:59
@AndrewP。涉及UI的交互..? – ngesh 2012-04-25 05:48:29
@sandy,是的。我可以在进行本地调用的基础活动中单击一个按钮,并使用结果正确更新UI。 – 2012-04-25 05:50:29