2012-04-25 208 views
0

我想模拟一个使用Activity与Theme.Dialog的软件键盘。键盘活动仅覆盖屏幕的一部分。潜在的活动仍然活跃,可以直接控制。我希望输入的文本在键入时显示在底层的活动中。从另一个活动更新视图

有没有一种方法可以做到这一点?我正在考虑将我的EditText的引用投入到Intent Bundle中,但这看起来不正确。

编辑:有人回答说让EditText静态,但后来删除了响应。如果事实证明这是正确的回应,他们可以将它添加回来吗?

回答

0

我回答我的问题在接取的主要活动的变量,因为谁提供的原始的人回复删除它,并没有转贴。

迄今为止,我发现的最佳解决方案是在软件键盘活动中创建一个静态字段,该字段指向被操纵的EditText。调用Activity然后在启动意图之前更新这个静态字段。

这可以无缝地工作,而且我在调用Activity从堆栈中爆炸时没有任何问题。

2

它不会工作..你的活动将在..尝试调用的东西有它肯定会抛出异常..不要尝试暂停状态..尝试onActivityResult(),而不是...

:编辑

以及那就试试这个..

得到活动实例(我的意思是它具有编辑文本的活动),然后

if(!yourActviity.isFinishing()) 
{ 

((EditText)yourActviity.findViewById(R.id.editText)).setText("text"); 
} 
+0

它未处于暂停状态。我可以直接与底层活动交互。 – 2012-04-25 05:46:59

+0

@AndrewP。涉及UI的交互..? – ngesh 2012-04-25 05:48:29

+0

@sandy,是的。我可以在进行本地调用的基础活动中单击一个按钮,并使用结果正确更新UI。 – 2012-04-25 05:50:29

1

如果u使用自定义对话框ü可以使用其mainactivity context.for,ü需要转换的背景下mainactivity型

+0

我没有使用自定义对话框,而是使用Theme.Dialog为主题的自定义活动。 – 2012-04-25 05:54:11

+0

请粘贴自定义活动的代码 – 2012-04-25 05:56:13

相关问题