我正在尝试使用Activity with Theme.Dialog来模拟软件键盘。键盘活动仅覆盖屏幕的一部分。基础活动仍然有效,可以直接控制。我希望输入的文本在键入时显示在基础Activity中。
有没有办法可以做到这一点?我想把我的EditText引用到Intent Bundle中,但这似乎不正确。
编辑:有人回答使EditText变为静态,但随后删除了响应。如果事实证明这是正确的答案,他们可以加回来吗?
答案 0 :(得分:2)
它不起作用..你的Activity将处于暂停状态..你试图在那里调用一些肯定会抛出异常的东西..不要尝试它...尝试onActivityResult()
而不是...... < / p>
<强>:被修改强>
那么试试吧..
获取Activity实例(我的意思是具有编辑文本的活动)然后
if(!yourActviity.isFinishing())
{
((EditText)yourActviity.findViewById(R.id.editText)).setText("text");
}
答案 1 :(得分:1)
如果您正在使用自定义对话框,您可以使用其主要活动上下文访问主要活动中的变量。因为您需要在主要活动类型中转换上下文
答案 2 :(得分:0)
我正在回答我自己的问题,因为提供原始答案的人将其删除,并且没有重新发布。
到目前为止我发现的最佳解决方案是在软件键盘活动中创建静态字段,该活动指的是被操作的EditText。然后,调用Activity会在启动intent之前更新此静态字段。
这可以无缝地工作,并且我已经没有问题,调用Activity被从堆栈中删除。